集合總結

學習了java集合,對整體框架有個瞭解

這裏寫圖片描述

collection:(單列集合)

1.List:有序,可重複       
        ArrayList--底層數據結構是數組,查詢快,增刪慢,線程不安全,效率高
        LinkedList--底層數據結構是鏈表,查詢慢,增刪快,線程不安全,效率高
        Vector--底層數據結構是數組,查詢快,增刪慢,線程安全,效率低

2.Set:無序,唯一
    HashSet
        底層數據結構是哈希表

        如何保證元素的唯一性呢?
            依賴於兩個方法:hashCode()和equals()
            自動生成這兩個方法即可

            -LinkedHashSet
                底層是哈希表和鏈表
                哈希表保證唯一性
                鏈表保證元素的有序性
    TreeSet
        底層數據結構是紅黑樹。

        怎樣保證元素的唯一性呢?
            通過比較返回值是否是0來決定

        怎樣保證元素排序呢?
            自然排序
            比較器排序

Map(雙列集合)

是一種存儲鍵值對映射的容器類,在Map中鍵可以是任意類型的對象,但不能有重複的鍵,每個鍵都對應一個值

1.HashMap
底層數據結構是哈希表
-LinkedHashMap
底層是哈希表和鏈表

2.TreeMap
底層數據結構是紅黑樹。

HashMap和HashTable的區別?

HashMap是非同步的,鍵值允許使用null;
Hashtable是同步的,鍵值不允許使用null

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章