HashMap和Hashtable的區別

2021-09-13 17:57:16 字數 423 閱讀 6623

主要區別點:

hashmap接受為null的鍵值對,hashtable不接受

hashmap非synchronized,執行緒不安全,若在多執行緒中使用需自己新增同步方法。hashtable是同步的,執行緒安全。因此在單執行緒下,hashmap更快。(在多執行緒下一般使用concurrenthashmap,它比hashtable的擴充套件性更好)

hashmap的迭代器(iterator)是fail-fast迭代器,而hashtable的enumerator迭代器不是fail-fast的。當有其它執行緒改變了hashmap的結構(增加,刪除,修改元素),將會丟擲異常。不過,通過iterator的remove()方法移除元素則不會。具體看iterator和enumerator迭代器的區別

hashmap不能保證隨著時間的推移map中的元素次序是不變的

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