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
- Map集合/Exception类/File类
- Map集合(集合类)
- 集合类 Map集合
- 20 Exception异常/File类
- java集合类Map
- java map集合类
- 集合类 & MAP & 泛型
- java Map集合类
- Collection Map 集合类
- 8.2集合类Map
- 集合类3-Map
- 集合类-Map
- Map.Entry类使用遍历Map集合
- Collection集合类和Map集合类
- 黑马程序员---集合-Map集合,Collections类
- 集合(3) Map集合,工具类
- JAVA----集合类——Map集合
- Java Map 集合类简介
- hibernate异常总结
- kafka Failed to send messages after 3 tries 错误解决
- 26个字母单链表,实现插入,删除,查找操作
- CodeForces 798D Mike and distribution(二维贪心 + 思维)
- LCD(二) linux驱动分析
- Map集合/Exception类/File类
- Android进程管理
- 我的学习记录41
- 编程应该养成哪些好的习惯
- 11月16日笔记及心得
- ftp与sftp连接实例
- 刘汝佳p35,2-6(123排列)算法竞赛入门经典第二版
- birt报表学习
- 服务计算系列——gzip中间件分析