HashMap和Hashtable的區別

2022-08-19 09:45:12 字數 799 閱讀 3957

hashmap不是執行緒安全的,而hashtable是執行緒安全的。hashtable中常用的方法都加入了synchronized,實現了執行緒安全

//hashmap常用方法

public v put(k key, v value)

public v get(object key)

//hashtable

public synchronized v put(k key, v value)

public synchronized v get(object key)

在執行效率上,由於加上了synchronized實現了同步,所以hashtable比hashmap效率低。

hashmap是可以儲存null的,而hashtable不可以儲存null,原因在於原始碼中hashmap中有特別儲存null的方法,在執行put方法之前先進行判斷是否為null,如果為空hashmap呼叫putfornullkey方法,hashtable中直接判斷之後丟擲異常。

還有乙個小小的區別,hashmap初始容量是16,而hashtable初始容量是11

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...