1. 程式人生 > >【Map介紹】

【Map介紹】

style div 紅黑樹 自然 left als 返回值 -a 重復

Map(雙列集合) A:Map 集合的數據結構僅僅針對鍵有效,與值無關。 B:存儲的是鍵值對形式的元素,鍵唯一,值可重復。 HashMap 底層數據結構是哈希表。線程不安全,效率高 哈希表依賴兩個方法:hashCode() equals() 執行順序: 首先判斷 hashCode()值是否相同 是:繼續執行 equals(),看其返回值 true:說明元素重復,不添加 false:就直接添加到集合 否:就直接添加到集合 最終: 自動生成 hashCode() equals()即可 LinkedHashMap 底層數據結構由鏈表和哈希表組成。 由鏈表保證元素有序。 由哈希表保證元素唯一。
Hashtable 底層數據結構是哈希表。線程安全,效率低 哈希表依賴兩個方法:hashCode() equals() 執行順序: 首先判斷 hashCode()值是否相同 是:繼續執行 equals(),看其返回值 true:說明元素重復,不添加 false:就直接添加到集合 否:就直接添加到集合 最終: 自動生成 hashCode() equals()即可 TreeMap 底層數據結構是紅黑樹。(是一種自平衡的二叉樹) 如何保證元素唯一性呢? 根據比較的返回值是否是 0 來決定 如何保證元素的排序呢? 兩種方式 自然排序(元素具備比較性) 讓元素所屬的類實現 Comparable 接口
比較器排序(集合具備比較性) 讓集合接收一個 Comparator 的實現類對象

【Map介紹】