----我只是个想成为程序媛的工科妹子。
一、总述
Set:无序,不可重复的集合
List:有序,可以重复的集合
Map:含有映射关系的集合,类比函数
Queue:队列集合
二、分述
1、Collection接口是Set , List , Map的父接口。
1)、Iterable接口的 forEach (Consumer action)方法,该方法所需的参数类型是一个函数式的接口。
2)、迭代器 Iterator 的对象是依赖于集合对象,没有集合的 Iterator 是无本之木,没有存在的价值。
3)、Iterator的forEachRemaining (Consumer action)。
4)、removeIf (Prdicate filter),批量删除符合 filter 条件的所有元素。
5)、Stream , XXXStream , 等流式api ,这些api代表多个支持串行和并行聚集操作的元素。(反正不是很懂。。。)
2、Set集合的三个特色的实现类
1)、HashSet
不能保证元素的排列序列;不是同步的;元素值可以是null;
当向HashSet中存入一个元素时,只有同时equals()返回true,hashCode()返回相同的值。HashSet才会把这两个元素当成一个,否则就是两个不同的元素。
2)、TreeSet
采用红黑树的数据结构来储存集合元素
①自然排序。如果试图把一个对象添加到TressSet时,则该对象的类(第一个除外)必须实现Comparable接口,否则程序会抛出异常。而且添加的对象应该是同一个类的对象。看到现在,就是TreeSet只能添加同一种类型的对象。
②定制排序