Map集合/Exception类/File类

来源:互联网 发布:大数据方向好不好 编辑:程序博客网 时间:2024/06/06 09:32

一.Map集合

概述

1.哈希表元素的唯一性是通过元素重写hashcode()和equals()方法来保证的
注意:若元素为自定义类型,必须重写这两个方法
2.map集合是双链集合,map集合的数据结构只和键有关
一:添加功能

 V put(K key, V value)          // 将指定的值与此映射中的指定键关联(可选操作)。   如果键不存在,添加值,返回null  如果键存在,替换键所对应的值,返回被替换的值

二:删除功能

 void clear()           //从此映射中移除所有映射关系(可选操作)。  V remove(Object key)           //如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。          返回值:返回此映射中以前关联该键的值,如果此映射不包含该键的映射关系,则返回 null

三:判断功能

 boolean containsKey(Object key)           //如果此映射包含指定键的映射关系,则返回 true。  boolean containsValue(Object value)          // 如果此映射将一个或多个键映射到指定值,则返回 true。 boolean isEmpty()          // 如果此映射未包含键-值映射关系,则返回 true。  

四:获取功能

 Set<K> keySet()          // 返回此映射中包含的键的 Set 视图。  Set<Map.Entry<K,V>> entrySet()           //返回此映射中包含的映射关系的 Set 视图。 Set<Map.Entry<K,V>> entrySet()           返回此映射中包含的映射关系的 Set 视图。   V get(Object key)          // 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。   int size()           返回此映射中的键-值映射关系数。 

五.Map集合的遍历

1.Set<Map.Entry<K,V>> entrySet()         //  返回此映射所包含的映射关系的 Set 视图。       // 然后使用 getkey()和getvalue()两个方法找对应的键和值2. Set<K> keySet()        //   返回此映射中所包含的键的 Set 视图。        //然后通过 V get(Object key)该方法通过key(键)找到对应的值

1.HashMap
基于哈希表的 Map 接口的实现。并允许使用 null 值和 null 键。元素唯一,但是无序,元素唯一靠元素重写hashcode()和equals()方法来报证

2.TreeMap
底层数据结构是红黑树,元素唯一,而且还能对元素进行排序(自然排序,比较器排序)
排序的元素必须实现comparable接口的comapreTo()方法(一般采用匿名内部类的方式)
3.LinkedHashMap
底层的数据结构有哈希表和链表保证 元素有序且唯一

二.collections

针对集合操作的工具类

此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。

常用方法static void reverse(List<?> list)           //反转指定列表中元素的顺序。 static void shuffle(List<?> list)          // 使用默认随机源对指定列表进行置换。 

三.异常类(throwable)

1.Exception
子类(1)编译时期异常只要不是RunTimeException都属于编译时期异常
例 如:IOException(IO流中的),ParseException(解析异常)
(2)运行时期异常(RuntimeException)
例如:NullPointerException:空指针异常!
处理方式

(1)try{...}catch{...}//标准格式:try{....}catch{....}finally{...}//finally一定会执行,除非jvm退出变形:                    try...catch                    try...catch...catch                    try...finally...(多线程的时候:Lock锁)针对多个异常方法一:分别进行try...catch方法二:try...catch...catch             (2)throws在方法声明上抛出异常,由于,编译时期异常,调用者必须要处理注意:实际开发中尽量不要在main()方法上抛出异常throw和throws的区别throws抛出异常,在方法上抛出后面可以跟多个异常(类名)中间用逗号隔开,表示异常的一种可能性throw抛出异常,在方法中抛出后面跟异常对象(匿名),表示异常的必然性

自定义异常类

自定义一个类,继承自Exception或者继承自RuntimeExceptionpublic class MyException extends Exception {    public MyException(){    }    public MyException(String message){        super(message) ;    }}

2.error
一般为较为严重的问题,此处不做讨论
3.final.finalize.finally
final终态的最终的
修饰成员变量,改变量不能被修改
修饰成员方法,该方法不能被重写
修饰类,该类不能被继承
finalize
它表示通过gc垃圾回收器回收不用的对象或者是变量,System.gc():实质,调用的是重写了Object类中finalize()方法,表示回收没有跟多引用对象或者变量等等…
finally
不能单独使用和try…catch…finally中一块使用,(异常,IO,数据库中中使用的),是用来释放资源
finally中的代码一定会执行,并且除非Java虚拟机Jvm退出了,才不会执行!

四.File类

1.构造方法

public File(String pathname)//给定路径名以字符串来表示当前这个文件或者文件夹(开发中推荐使用第一种构造方法)public File(String parent,String child)//根据 parent 路径名字符串和 child 路径名字符串创建一个新 File对象 public File(File parent, String child)//根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例

2.常用方法
文件创建

public boolean mkdir()创建此抽象路径名指定的目录(文件夹)。                如果当前某个盘符下已经有了这个目录(文件夹),不会在创建了.public boolean createNewFile()throws IOException:创建文件的,如果已经有这个文件了,不在创建,并且该方法本身就会编译时期异常IOException  public boolean mkdirs()创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。(创建文件夹,文件夹不存在,才开始创建)

重命名

public boolean renameTo(File dest)重新命名此抽象路径名表示的文件。 当两个文件的路径名一样是只是重命名当两个文件的路径不一样时,有剪贴功能

判断功能

public boolean isDirectory()://判断是否是文件夹                                      经常用到public boolean isFile()://判断是否是一个标准文件                                   经常用到public boolean canRead():判断是否可读public boolean canWriter():判断是否可写public boolean isHidden():判断是否是隐藏文件public boolean isAbsolute():判断次路径名是否是绝对路径

获取功能

File类中的获取功能:public File getAbsolutePath():获取当前文件或者文件夹绝对路径public String getPath():获取相对路径public long length()返回由此抽象路径名表示的文件的长度public long lastModified()返回此抽象路径名表示的文件最后一次被修改的时间public String getName():获取名称

删除功能

    public boolean delete()删除此抽象路径名表示的文件或目录

高级获取功能

File类的高就获取功能:    public String[] list():返回对象是一个字符串数组,当前哪个一盘符下的所有的文件以及文件夹的字符串名称数组    public File[] listFiles():返回对象是一个File数组,当前哪个盘下的所有的文件以及文件夹的File数组

文件名称过滤器

 引出:文件名称过滤器         -------Javaweb中将过滤器以及上传和下载. public String[] list(FilenameFilter filter) public File[] listFiles(FileFilter filter)参数是一个接口,(开发中使用的接口的匿名内部类的方式)        实现一个方法:            boolean accept(File dir, String name):这个方法的返回值是true(就是表示要将当前文件夹或者文件的名称添加数组中),false(表示不添加数组中)

五.IO流

概括

设备(硬盘)与设备(内存)之间的数据传输按流的方向分:输入流:读数据输出流:写数据按数据类型分:字节流:                字节输入流:InputStream            字节输出流:OutputStream            字符流                字符输入流:Reader                字符输出流:Writer

写数据的方法

针对输出流中写数据的方法:        public abstract void write(int b):将指定的字节写入到输出流中        public void write(byte[] b):将指定的字节数组写入到输出流中        public void write(byte[] b, int off,int len):将字节数组的一部分写入到输出流中

换行

需要写入换行符号,每一个系统他们对应IO这块换行符号是不一样的        对于windows操作系统来说:换行符号:\r\n        对于Linux操操作系统来说:\n        对于Mac操作系统来说:\r
原创粉丝点击