摘要:存儲元素實際為存儲的鍵值對為的,為固定對象遍歷方式支持正向反向迭代器遍歷和遍歷順序迭代器實現(xiàn)順序遍歷實現(xiàn)逆序遍歷反向迭代器實現(xiàn)
HashSet & TreeSet小結(jié) 聲明
文章均為本人技術(shù)筆記,轉(zhuǎn)載請注明出處:https://segmentfault.com/u/yzwall
HashSet小結(jié) HashSet簡介HashSet是一個沒有重復(fù)元素的集;
HashSet可以存儲null元素,不保證元素插入順序;
HashSet線程不安全的(由于底層由HashMap實現(xiàn));
HashSet底層采用HashMap存儲:private transient HashMap
由于HashMap中key不可重復(fù),從而實現(xiàn)HashSet元素不可重復(fù);
HashSet支持迭代器和foreach兩種遍歷方式:
// 遍歷HashSet:迭代器實現(xiàn) Iterator iter = set.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); } // 遍歷HashSet:foreach實現(xiàn) for (Integer i : set) { System.out.println(i); }TreeSet小結(jié)
TreeSet是一個有序集,基于TreeMap實現(xiàn),是線程不安全的;
TreeSet有序性實現(xiàn)TreeSet支持兩種兩種排序方式,通過不同構(gòu)造器調(diào)用實現(xiàn)
自然排序:
public TreeSet() { // 新建TreeMap,自然排序 this(new TreeMap()); }
Comparator排序:
public TreeSet(Comparator super E> comparator) { // 新建TreeMap,傳入自定義比較器comparator this(new TreeMap<>(comparator)); }TreeSet底層實現(xiàn)
TreeSet底層采用TreeMap存儲,構(gòu)造器啟動時新建TreeMap。TreeSet存儲元素實際為TreeMap存儲的鍵值對為
TreeSet支持正向/反向迭代器遍歷和foreach遍歷
// 順序TreeSet:迭代器實現(xiàn) Iterator iter = set.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); } // 順序遍歷TreeSet:foreach實現(xiàn) for (Integer i : set) { System.out.println(i); } // 逆序遍歷TreeSet:反向迭代器實現(xiàn) Iterator iter1 = set.descendingIterator(); while (iter1.hasNext()) { System.out.println(iter1.next()); }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/67007.html
摘要:中所有方法都是直接或者間接同步的,所以是線程安全的即多個線程操作同一個對象時是線程安全的,但是只有一個線程操作時考慮到同步控制會耗費系統(tǒng)資源所以效率低。中的所有方法都是線程非同步的,但有多個線程操作時是不安全的。 雖是讀書筆記,但是如轉(zhuǎn)載請注明出處http://segmentfault.com/blog/exploring/ ..拒絕伸手復(fù)制黨 容器之間的區(qū)別通常歸結(jié)為:由什么在背...
摘要:使用默認隨機源對指定列表進行置換。將集合排序使用二分搜索法搜索指定列表,以獲得指定對象根據(jù)元素的自然順序,返回給定的最大元素。 1_Map集合概述和特點 A:Map接口概述 查看API可以知道: 將鍵映射到值的對象 一個映射不能包含重復(fù)的鍵 每個鍵最多只能映射到一個值 B:Map接口和Collection接口的不同 Map是雙列的,Collection是單列的 Map...
摘要:集合判斷兩個元素的標(biāo)準(zhǔn)是兩個對象通過方法比較相等,并且兩個對象的方法返回值也相等。的集合元素也是有序的,以枚舉值在類內(nèi)的定義順序來決定集合元素的順序。是所有實現(xiàn)類中性能最好的,但它只能保存同一個枚舉類的枚舉值作為集合元素。 Set集合通常不能記住元素的添加順序。Set不允許包含重復(fù)的元素。 Set集合不允許包含相同的元素,如果試圖把兩個相同的元素加入同一個Set集合中,則添加操作...
摘要:的操作和遍歷的三大集合即。的實現(xiàn)類原理比較簡單,比較復(fù)雜,而其實是基于的一種實現(xiàn)。 List&Map&Set的操作和遍歷 Java的三大集合即:Set、List、Map。 Set:代表無序、不可重復(fù)的集合,常用的有HashSet(哈希表實現(xiàn))、TreeSet(紅黑樹實現(xiàn)); List:代表有序、可以重復(fù)的集合,比較常用的有ArrayList(數(shù)組實現(xiàn))、LinkedList(鏈表實現(xiàn)...
閱讀 1057·2023-04-25 17:51
閱讀 2863·2021-11-23 09:51
閱讀 1486·2021-11-08 13:21
閱讀 2462·2021-09-22 15:14
閱讀 1527·2019-08-30 12:48
閱讀 1089·2019-08-29 12:44
閱讀 1146·2019-08-26 12:21
閱讀 1404·2019-08-26 10:47