国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

HashSet & TreeSet小結

CollinPeng / 3347人閱讀

摘要:存儲元素實際為存儲的鍵值對為的,為固定對象遍歷方式支持正向反向迭代器遍歷和遍歷順序迭代器實現順序遍歷實現逆序遍歷反向迭代器實現

HashSet & TreeSet小結 聲明

文章均為本人技術筆記,轉載請注明出處:https://segmentfault.com/u/yzwall

HashSet小結 HashSet簡介

HashSet是一個沒有重復元素的集
HashSet可以存儲null元素,不保證元素插入順序;
HashSet線程不安全的(由于底層由HashMap實現);

HashSet底層實現

HashSet底層采用HashMap存儲private transient HashMap map。HashSet存儲元素實際為TreeMap存儲的鍵值對為的key;,PRESENT為固定對象:private static final Object PRESENT = new Object();
由于HashMap中key不可重復,從而實現HashSet元素不可重復;

HashSet遍歷方式

HashSet支持迭代器和foreach兩種遍歷方式:

// 遍歷HashSet:迭代器實現
Iterator iter = set.iterator();
while (iter.hasNext()) {
    System.out.println(iter.next());
    
}

// 遍歷HashSet:foreach實現
for (Integer i : set) {
    System.out.println(i);
}
TreeSet小結

TreeSet是一個有序集,基于TreeMap實現,是線程不安全的;

TreeSet有序性實現

TreeSet支持兩種兩種排序方式,通過不同構造器調用實現

自然排序:

    public TreeSet() {
        // 新建TreeMap,自然排序
        this(new TreeMap());
    }

Comparator排序:

    public TreeSet(Comparator comparator) {
        // 新建TreeMap,傳入自定義比較器comparator
        this(new TreeMap<>(comparator));
    }
TreeSet底層實現

TreeSet底層采用TreeMap存儲,構造器啟動時新建TreeMap。TreeSet存儲元素實際為TreeMap存儲的鍵值對為的key;,PRESENT為固定對象:private static final Object PRESENT = new Object()

TreeSet遍歷方式

TreeSet支持正向/反向迭代器遍歷和foreach遍歷

// 順序TreeSet:迭代器實現
Iterator iter = set.iterator();
while (iter.hasNext()) {
    System.out.println(iter.next());
    
}

// 順序遍歷TreeSet:foreach實現
for (Integer i : set) {
    System.out.println(i);
}

// 逆序遍歷TreeSet:反向迭代器實現
Iterator iter1 = set.descendingIterator();
while (iter1.hasNext()) {
    System.out.println(iter1.next());
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67007.html

相關文章

  • java 編程思想 - Chapter11&amp;Chapter17- 不同容器之間的比較

    摘要:中所有方法都是直接或者間接同步的,所以是線程安全的即多個線程操作同一個對象時是線程安全的,但是只有一個線程操作時考慮到同步控制會耗費系統資源所以效率低。中的所有方法都是線程非同步的,但有多個線程操作時是不安全的。 雖是讀書筆記,但是如轉載請注明出處http://segmentfault.com/blog/exploring/ ..拒絕伸手復制黨 容器之間的區別通常歸結為:由什么在背...

    imtianx 評論0 收藏0
  • Java編程基礎19——Map集合&amp;斗地主案例

    摘要:使用默認隨機源對指定列表進行置換。將集合排序使用二分搜索法搜索指定列表,以獲得指定對象根據元素的自然順序,返回給定的最大元素。 1_Map集合概述和特點 A:Map接口概述 查看API可以知道: 將鍵映射到值的對象 一個映射不能包含重復的鍵 每個鍵最多只能映射到一個值 B:Map接口和Collection接口的不同 Map是雙列的,Collection是單列的 Map...

    ygyooo 評論0 收藏0
  • java集合-Set

    摘要:集合判斷兩個元素的標準是兩個對象通過方法比較相等,并且兩個對象的方法返回值也相等。的集合元素也是有序的,以枚舉值在類內的定義順序來決定集合元素的順序。是所有實現類中性能最好的,但它只能保存同一個枚舉類的枚舉值作為集合元素。 Set集合通常不能記住元素的添加順序。Set不允許包含重復的元素。 Set集合不允許包含相同的元素,如果試圖把兩個相同的元素加入同一個Set集合中,則添加操作...

    xavier 評論0 收藏0
  • List&amp;Map&amp;Set的操作和遍歷

    摘要:的操作和遍歷的三大集合即。的實現類原理比較簡單,比較復雜,而其實是基于的一種實現。 List&Map&Set的操作和遍歷 Java的三大集合即:Set、List、Map。 Set:代表無序、不可重復的集合,常用的有HashSet(哈希表實現)、TreeSet(紅黑樹實現); List:代表有序、可以重復的集合,比較常用的有ArrayList(數組實現)、LinkedList(鏈表實現...

    lavnFan 評論0 收藏0
  • java集合類

    摘要:集合類簡介集合類包含在包下集合類存放的是對象的引用,而非對象本身。集合類型主要分為集,列表,映射。返回此有序集合中當前第一個最小的元素。集合中元素被訪問的順序取決于集合的類型。 Java集合類 1.簡介: java集合類包含在java.util包下集合類存放的是對象的引用,而非對象本身。集合類型主要分為Set(集),List(列表),Map(映射)。 1.1 java集合類圖 sho...

    Pluser 評論0 收藏0

發表評論

0條評論

CollinPeng

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<