HashMap基礎問題總結

2021-08-25 02:39:56 字數 769 閱讀 2506

強烈推薦乙個大神的人工智慧的教程:

採用了分段鎖技術,繼承reentrantlock

其中拋棄了原有的 segment 分段鎖,而採用了 cas + synchronized 來保證併發安全性。

在時間和空間上都最優的方法是,宣告兩個指標,乙個指標每次向下移動乙個位置,第二個指標每次向下移動兩個位置,如果存在環,當第乙個指標跑完第一圈的時候就會和第二個指標指向同乙個節點

兩個沒有環的鍊錶相交,那麼其最後乙個節點就相同,判斷完相交之後,找相交的節點,兩個指標分別指向兩個鍊錶頭部,較長的鍊錶指標先向後移動(len1-len2)的長度,然後開始遍歷兩個鍊錶,第乙個相同的即相交點

參考文章:

Java基礎之HashMap閱讀總結

工作中常常會遇到常用的類,但是由於封裝的太好,一般也不會出現太多的問題,就導致對底層的實現了解的比較少,最近想把這些東西全部都梳理一下,也順便多學習一些實現思路。歡迎共同 帶著幾個問題去讀原始碼 1.hashmap是基於哪種資料結構實現的?2.hashmap是如何儲存的?3.hashmap是如何取值...

HashMap 學習總結

本文參考見 by chenssy 知識點 1.hashmap的三個建構函式 hashmap 預設初始容量為16,預設載入因子是0.75 hashmap int initialcapacity 指定初始容量 但預設載入因子為0.75 hashmap int initialcapacity,float ...

HashMap學習總結

答 雜湊表又稱雜湊表是一種k value鍵值對對應關係的資料結構,它通過乙個關鍵碼k,經過雜湊函式,能找到存在陣列上的記錄,查詢速度塊。答 它是底層主幹是陣列 雜湊表的主幹是陣列 陣列裡的每個元素都是煉表頭。到了jdk8,增加了紅黑樹結構,所以,總的來說陣列 鍊錶 紅黑樹。答 hashmap有雜湊表...