HashMap和Hashtable異同點

2021-06-21 15:13:49 字數 492 閱讀 3821

相同點:

1.都是由陣列實現

2.key都是通過hash演算法

3.put方法,當key存在是返回的是原來的value,不存在時返回的是null

不同點:

1.**風格不一樣,設計不一樣(估計不是同乙個人寫的,個人猜測)

2.陣列預設大小不一樣 hashmap(16) hashtable(11)

3.構造方法傳int 如:

hashmap map = new hashmap(31)   開闢的空間是32  取的是臨界 2的n次方

hashtable hashtable = new hashtable(31) 開闢的空間是31

4.hashmap key 可以為空 hashtable key不能為空(丟擲空指標異常)

5.hashmap的空間達到陣列大小*因子(預設0.75)時,開闢的空間是原來的2倍,hashtable是2倍+1

6.hashmap是非執行緒安全的,hashtable是執行緒安全的

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