jdk1.7陣列+鍊錶形式
jdk1.8 陣列+鍊錶/紅黑樹
雜湊表長度不大於8,鍊錶長度達到8,首先進行,resize陣列擴容
如果雜湊表長度大於64,鍊錶長度到達8,就會把鍊錶結構轉化成紅黑樹結構
執行緒安全
實現更加精細,對map集合中的桶加鎖
採用分段鎖,預設
segment的陣列長度
16會記錄集合元素的插入順序
iterator先進先出
遍歷會比hashmap慢,遍歷速度之和元素個數有關,與容量無關
是乙個有序的key-value集合
,它是通過
紅黑樹實現的
key不能為null,因為null不能參與排序
建立乙個空treemap,keys按照自然排序
新增、刪除和定位對映關係上,treemap類要比hashmap類的效能差一些
執行緒安全,
方法幾乎都是同步的
效率key和vlue都不能為null
基於hash表的map集合,陣列加鍊表結構---->jdk1.7與1.8的區別
執行緒不安全----->hashmap/currenthashmap
預設無規則排序----->linkedhashmap(先進先出)
能自定義排序------>treemap
Redis從入門到深入 Hash的value
2.hash型別 2.1 儲存的困惑 物件類資料的儲存如果具有較頻繁的更新需求操作會顯得笨重 2.2 hash型別 2.3 hash型別資料的基本操作 hsethget hgetallhdel field2 hmset hmget hlenhexistshkeys hvalshincrby hinc...
HashMap中的hash演算法總結
演算法一直是我的弱項,然而面試中基本是必考的專案,剛好上次看到乙個hashmap的面試題,今天也來學習下 hashmap中的hash演算法是如何實現的。數學知識回顧 hashmap中的hash演算法 首先要明白乙個概念,hashmap中定位到桶的位置 是根據key的hash值與陣列的長度取模來計算的...
HashMap中的hash演算法總結
演算法一直是我的弱項,然而面試中基本是必考的專案,剛好上次看到乙個hashmap的面試題,今天也來學習下 hashmap中的hash演算法是如何實現的。數學知識回顧 hashmap中的hash演算法 首先要明白乙個概念,hashmap中定位到桶的位置 是根據key的hash值與陣列的長度取模來計算的...