一、回顾
1、Map映射,以键值对的方式来存储元素,键值不能重复,value可以重复。
size(),containsKey(),containsValue(),put(K,V),get(K),remove(K)
values(),keySet(),Set<Map.Entry<K,V>> entrySet()
1-1、常用实现类:
1)HashMap:数据结构是哈希表,所以,不保证元素顺序。
2)TreeMap:数据结构是树形结构,所以,天然按照Key排序。
如果对Map对象元素希望按照值排序,利用Collections类sort()方法
Set<Map.Entry<K,V>> set=map.entrySet();
ArrayList<Map.Entry<K,V>> array=new ArrayList<Map.Entry<K,V>>(set);
Collections.sort(array,new Comparator<<Map.Entry<K,V>>(){
public int compare(Map.Entry<K,V> obj1,Map.Entry<K,V> obj2){
}
});
2、Collections类:
1)sort(List<T>),要求T是实现了Comprable接口
2)sort(List<T>,Comparator<? super T> comparator),要求要提供一个比较器。
泛型的表达:<? super K>表示一个类型,是K的超类,也可以是K本身。
<? extends T>表示一个类型,是T的扩展类,也可以是T本身。
3)max()
4)min()
5)fill()用指定元素,重置每一个元素
6)shuffle()洗牌
7)swap()替换
3、Arrays类
1)binarySearch()执行时要求集合是已经排好序。
2)fill()
3)asList()
4)sort()排序
二、今天的内容:
1、java.io包,流stream,是一连串流动的字符,按照先进先出的方式传输的通道。
方向:输入 输出
方向参照物:program(内存)
输入流:从 source(源--文件、硬盘、网络)读取数据到内存,是读操作
输出流:从 program(内存)将需要存储的数据写到 dest(目的地--文件、硬盘、网络),是写操作。
1-1、File 类:既可以是具体的文件,又可以是目录(文件夹),用途并不是创建资源文件,而是对资源文件的一种映射,通过它获得所映射资源的相关信息(是否存在,文件是否可读,是否可写,有多大,文件路径,文件名,最后修改时间等)。
1)File(String pathname):
2)File(String parent, String child):
3)File(File parent, String child)
4)File(URI uri)
1-2、字节流
1)InputStream
创建输入流对象
使用相应的read()的方法,进行读操作
应用读到的数据
关闭输入流对象
题目:通过FileInputStream对象读取指定文件,在控制台中输出读到的信息。
2)OutputStream
创建输出流对象
使用相应的write()方法,进行写操作
清空缓存
关闭输出流对象
题目:实现文件拷贝功能,要考虑程序可以接受源文件,和目标文件。
节点流:FileInputStream
1-3、字符流
1)Reader
2)Writer
1、Map映射,以键值对的方式来存储元素,键值不能重复,value可以重复。
size(),containsKey(),containsValue(),put(K,V),get(K),remove(K)
values(),keySet(),Set<Map.Entry<K,V>> entrySet()
1-1、常用实现类:
1)HashMap:数据结构是哈希表,所以,不保证元素顺序。
2)TreeMap:数据结构是树形结构,所以,天然按照Key排序。
如果对Map对象元素希望按照值排序,利用Collections类sort()方法
Set<Map.Entry<K,V>> set=map.entrySet();
ArrayList<Map.Entry<K,V>> array=new ArrayList<Map.Entry<K,V>>(set);
Collections.sort(array,new Comparator<<Map.Entry<K,V>>(){
public int compare(Map.Entry<K,V> obj1,Map.Entry<K,V> obj2){
}
});
2、Collections类:
1)sort(List<T>),要求T是实现了Comprable接口
2)sort(List<T>,Comparator<? super T> comparator),要求要提供一个比较器。
泛型的表达:<? super K>表示一个类型,是K的超类,也可以是K本身。
<? extends T>表示一个类型,是T的扩展类,也可以是T本身。
3)max()
4)min()
5)fill()用指定元素,重置每一个元素
6)shuffle()洗牌
7)swap()替换
3、Arrays类
1)binarySearch()执行时要求集合是已经排好序。
2)fill()
3)asList()
4)sort()排序
二、今天的内容:
1、java.io包,流stream,是一连串流动的字符,按照先进先出的方式传输的通道。
方向:输入 输出
方向参照物:program(内存)
输入流:从 source(源--文件、硬盘、网络)读取数据到内存,是读操作
输出流:从 program(内存)将需要存储的数据写到 dest(目的地--文件、硬盘、网络),是写操作。
1-1、File 类:既可以是具体的文件,又可以是目录(文件夹),用途并不是创建资源文件,而是对资源文件的一种映射,通过它获得所映射资源的相关信息(是否存在,文件是否可读,是否可写,有多大,文件路径,文件名,最后修改时间等)。
1)File(String pathname):
2)File(String parent, String child):
3)File(File parent, String child)
4)File(URI uri)
1-2、字节流
1)InputStream
创建输入流对象
使用相应的read()的方法,进行读操作
应用读到的数据
关闭输入流对象
题目:通过FileInputStream对象读取指定文件,在控制台中输出读到的信息。
2)OutputStream
创建输出流对象
使用相应的write()方法,进行写操作
清空缓存
关闭输出流对象
题目:实现文件拷贝功能,要考虑程序可以接受源文件,和目标文件。
节点流:FileInputStream
1-3、字符流
1)Reader
2)Writer