HashMap和HashTable的區別

2021-08-17 06:57:03 字數 596 閱讀 6383

1、hashmap是map介面的乙個實現類,hashtable是dictionary的子類。

2、hashtable是執行緒安全的;hashmap不是執行緒安全的,只是用於單執行緒環境下,多執行緒環境下可以採用concurrenthashmap。

3、hashmap中使用containsvalue()和containskey()方法;hashtable中使用contains()方法,containsvalue()和containskey()三個方法,其中contains和containsvalue功能相同。

4、hashmap底層是陣列加鍊表實現,hashtable也是陣列+鍊錶實現。.

5、hashmap最多允許一條記錄的鍵值為空,允許多條記錄的值為空;hashtable不允許記錄的鍵或值為空。

6、hashmap的初始容量是16,擴容因子是0.75,即當hashmap中的元素個數到達12時進行擴容,擴為原來長度的2倍,即hashmap的長度變為32;hashtable的初始容量是11,擴容因子是0.75,即hashtable中的元素個數到達8個時進行擴容,擴為原來長度的2倍加1,即hashtable的長度變為2*11+1=23;

注:treemap是按鍵值公升序排序後的hashmap

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