(四)HashMap與Hashtable區別

2021-09-11 09:31:20 字數 608 閱讀 8054

目錄

——相同點

(1)有序性:

(2)重複性:

(3)底層資料結構:

(4)hash:

(5)預設載入因子

——區別

一、繼承關係

二、null值

三、安全性

四、預設值

五、擴容方式

六、效率問題

都不能保證有序

key值都不能重複,value可以重複

陣列+鍊錶

通過key獲取索引位置

都是0.75

hashmap繼承自abstractmap;

hashtable繼承自dictionary。

hashmap可以儲存null值,而且key和value都可以為null;

hashtable的key和value都不能為null。

hashtable是執行緒安全的

hashmap預設陣列大小為16

hashtable預設大小為11

hashmap:二倍擴容

hashtable:二倍加一

hashmap在單執行緒下效率高;

hashtable在單執行緒下效率低。

HashMap四種遍歷方式

public static void main string args 第二種,通過map.entryset system.out.println 通過map.entryset使用iterator遍歷key和value iterator ite map.entryset iterator while...

HashMap基礎與併發

執行緒不安全的hashmap,hashmap在併發執行put操作時會引起死迴圈,是因為多執行緒會導致hashmap的entry鍊錶形成環形資料結構,查詢時會陷入死迴圈。預設初始化大小為16,之後每次擴充,容量變為原來的2倍 預設載入因子為0.75 modcount作用 迭代器每修改一次就 1 has...

HashMap與TreeMap的區別

map介面中包含了abstractmap,hashmap,treemap,weakhashmap類的實現 hashmap中的儲存順序是隨機的。treemap類擴充套件了abstractmap類,並實現了sortedmap介面,是一棵二叉搜尋樹,不是hash表!是樹的話,所以就用失去高效的訪問時間去換...