HashMap和Hashtable的區別

2021-09-26 23:18:08 字數 443 閱讀 8718

(1)hashmap是hashtable的輕量級實現,它們都實現了map介面,主要區別在於hashmap允許空(null)鍵值(key),而hashtalbe不允許。

(2)hashmap沒有contains方法,而是containsvalue和containskey。

(3)hashtable的方法是執行緒安全的,而hashmap不是執行緒安全的。

(4)hashmap使用iterator,hashtable使用enumeration。

(5)hashmap和hashtable採用的hash/rehash演算法都幾乎一樣,所以效能不會有很大的差異。

(6)在hashtable中,hash陣列預設大小是11,增加的方式是old*2+1。在has和map中,hash陣列的預設大小是16,而且一定是2的倍數。

(7)hash值的使用不同,hashtable直接使用物件的hashcode。

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