Map集合中的知識點

2021-09-30 19:26:25 字數 1186 閱讀 7264

1、hashmap是乙個雜湊表,它儲存的內容是鍵值對(key-value)對映,其內部通過單鏈表解決衝突問題,具有很快的訪問速度。

2、它的實現不是同步的,是執行緒不安全的。它的key、value都可以為null,但key只能有乙個為null。此外,hashmap中的對映不是有序的。

3、hashmap 的例項有兩個引數影響其效能:「初始容量」 和 「載入因子」。容量是雜湊表中桶的數量,初始容量是雜湊表在建立時的容量。載入因子 是雜湊表在其容量自動增加之前可以達到多滿的一種尺度。當雜湊表中的條目數超出了載入因子與當前容量的乘積時,則要對該雜湊表進行 rehash 操作(即重建內部資料結構),從而雜湊表將具有大約兩倍的桶數。

何hashmap類似但是是同步的,因此效能比hashmap較差。

實際上就是hashmap和linkedlist兩個集合類的儲存結構的結合。在linkedhashmap中,所有put進來的entry都儲存在雜湊表中,但它又額外定義了乙個以head為頭結點的空的雙向迴圈鍊錶,每次put進來entry,除了將其儲存到對雜湊表中對應的位置上外,還要將其插入到雙向迴圈鍊錶的尾部。

1、treemap是基於紅黑樹實現的,紅黑樹是一種特殊的二叉排序樹,紅黑樹通過一些限制,使其不會出現二叉樹排序樹中極端的一邊倒的情況,相對二叉排序樹而言,這自然提高了查詢的效率。

2、treemap是根據key進行排序的,它的排序和定位需要依賴比較器或覆寫comparable介面,也因此不需要key覆寫hashcode方法和equals方法,就可以排除掉重複的key,而hashmap的key則需要通過覆寫hashcode方法和equals方法來確保沒有重複的key。

3、treemap的查詢、插入、刪除效率均沒有hashmap高,一般只有要對key排序時才使用treemap。

4、treemap的key不能為null,而hashmap的key可以為null。

一般情況下,我們用的最多的是hashmap,hashmap裡面存入的鍵值對在取出的時候是隨機的,它根據鍵的hashcode值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。在map 中插入、刪除和定位元素,hashmap 是最好的選擇。

treemap取出來的是排序後的鍵值對。但如果您要按自然順序或自定義順序遍歷鍵,那麼treemap會更好。

linkedhashmap 是hashmap的乙個子類,如果需要輸出的順序和輸入的相同,那麼用linkedhashmap可以實現,它還可以按讀取順序來排列,像連線池中可以應用。

集合知識點

1.集合框架中包含哪些集合 collection list arraylist linkedlist vector sethashset treeset maphashmap treemap 2.list集合與set集合的特點 list 有序並且允許重複 set 無需並且不允許重複 3.arrayl...

集合知識點

1.自然排序實現步驟 1.在泛型中的自定義類中實現comparable 自定義類名 2.重寫compareto方法 3.建立treeset集合,向集合中新增元素 2.定製排序實現步驟 1.編寫自定義類 2.單獨定義比較器類,實現comparator 自定義類 3.重寫compare方法 4.建立tr...

Map介面知識點

map知識點 1 map介面 hashmap集合 linkedhashmap集合 2 map 雙列集合,collection 單列集合 3 hashmap 要保證鍵的唯 一 不重複,需要重寫鍵的hashcode 方法 equals 方法。4 linkedhashmap儲存順序一致 5 map 鍵ke...