HashMap,HashTable,TreeMap,WeakHashMap的區別

Java爲數據結構中的映射定義了一個接口java.util.Map,包括3個實現類:HashMap、HashTable和TreeMap。

HashMap和HashTable都採用hash法進行索引,但二者還有一些區別。

  HashMap HashTable
安全性 不安全,不同步 安全,同步
key值 允許爲null 不允許爲null
contains方法 有containsValue 有contains,containsKey,containsValue
父類 AbstractMao Dictionary
hash數組大小 默認是16,擴容是2*old 默認是11,擴容方式是old*2+1

(1)HashMap存入鍵值對時是隨機的

(2)TreeMap實現了SortMap接口,將元素根據可以排序

(3)LinkedHashMap是HashMap的子類,輸入和輸出相同

(4)WeakHashMap的key採用的是“弱引用”,只要WeakHashMap的key不再被外部引用,就被垃圾回收器回收。HashMap的key是“強引用”,只有key從hashMap中刪除,纔可以被垃圾回收器回收。

發佈了52 篇原創文章 · 獲贊 5 · 訪問量 6106
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章