LinkedHashMap and LinkedHashSet
LinkedHashMap實現了Map接口,是HashMap的直接子類,它同時滿足HashMap和linked list的某些特性??蓪inkedHashMap看作采用linked list增強的HashMap。
LinkedHashMap在HashMap的基礎上,采用雙向鏈表(doubly-linked list)的形式將所有entry連接起來,這樣是為保證元素的迭代順序跟插入順序相同。LinkedHashMap的結構圖,主體部分跟HashMap完全一樣,多了header指向雙向鏈表的頭部(是一個啞元),該雙向鏈表的迭代順序就是entry的插入順序。除了可以保迭代歷順序,這種結構還有一個好處:迭代LinkedHashMap時不需要像HashMap那樣遍歷整個table,而只需要直接遍歷header指向的雙向鏈表即可,也就是說LinkedHashMap的迭代時間就只跟entry的個數相關,而跟table的大小無關。
有兩個參數可以影響LinkedHashMap的性能:初始容量(inital capacity)和負載系數(load factor)。初始容量指定了初始table的大小,負載系數用來指定自動擴容的臨界值。當entry的數量超過capacity*load_factor時,容器將自動擴容并重新哈希。對于插入元素較多的場景,將初始容量設大可以減少重新哈希的次數。
LinkedHashMap是非同步的(not synchronized)。
存儲結構:
?
轉載于:https://www.cnblogs.com/hesier/p/5863281.html
總結
以上是生活随笔為你收集整理的LinkedHashMap and LinkedHashSet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 去医院看妇科要多少钱?
- 下一篇: 苹果充电器多少钱啊?