----我只是個想成爲程序媛的工科妹子。
一、總述
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只能添加同一種類型的對象。
②定製排序