hashmap和hashtable的區別

2021-08-20 22:26:37 字數 432 閱讀 3436

hashmapkey值和鍵值可以為null,而hashtable不可以

hashmap是執行緒不安全的,hashtable是執行緒安全的

怎麼樣使用執行緒安全的hashmap?

用collections的同步方法

map m = collections.synchronizemap(hashmap);

但是,這種方式是通過簡單的加鎖實現的,我們還有效率更高的實現方式,

我們也可以使用concurrenthashmap,

那麼concurrenthashmap的資料結構是什麼?hashmap的資料結構又是什麼?

hashmap是陣列+鍊錶+紅黑樹的結構,拉鍊法。

concurrenthashmap的資料結構

jdk8以前

採用分段式鎖,

jsk8,對節點採用分段,比之前的效率更高。

HashMap的工作原理和hashtable區別

1.hashmap的工作原理?hashmap底層是陣列 鍊錶 以陣列儲存元素,如有hash相同的元素,在陣列結構中,建立鍊錶結構,再把hash相同的元素放到鍊錶的下乙個節點 基於hashing 雜湊法 雜湊法 是一種將字元組成的字串轉換為固定長度的數值或索引值的方法 的原理。通過put get 方法...

HashMap和LinkedHashMap的區別

hashmap,linkedhashmap,treemap都屬於map map 主要用於儲存鍵 key 值 value 對,根據鍵得到值,因此鍵不允許鍵重複,但允許值重複。hashmap 是乙個最常用的map,它根據鍵的hashcode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。ha...

HashMap和LinkedHashMap的區別

hashmap,linkedhashmap,treemap都屬於map map 主要用於儲存鍵 key 值 value 對,根據鍵得到值,因此鍵不允許鍵重複,但允許值重複。hashmap 是乙個最常用的map,它根據鍵的hashcode 值儲存資料,根據鍵可以直接獲取它的值,具有很快的訪問速度。ha...