国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

被面試官狂問HashMap:回家直接肝了這套HashMap底層原理源碼教程,受益

2023-03-04 18:29 作者:火柴i  | 我要投稿

看完啦,收獲很大!

這是筆記:



HashMap底層原理:

數(shù)組+鏈表(數(shù)組指向鏈表頭結(jié)點(diǎn))

頭插法:新put的節(jié)點(diǎn)從頭部插入

新節(jié)點(diǎn).next = 頭節(jié)點(diǎn)

頭節(jié)點(diǎn) = 新節(jié)點(diǎn)


HashMap的put:

計(jì)算key的hash值

先將hash值進(jìn)行擾動(dòng)(移動(dòng)位)

接著計(jì)算出最小2次冪(如10為16)

然后把計(jì)算出的結(jié)果和key擾動(dòng)過的hash值進(jìn)行位于&運(yùn)算,最后得出要插入的index位

若index位上節(jié)點(diǎn)不為null,則遍歷判斷是否有重復(fù)key,有的話覆蓋value值,返回原value(對應(yīng)視頻開頭的2)


擴(kuò)容機(jī)制:

新建一個(gè)Entry數(shù)組,容量是原來size*2,接著調(diào)用transfer方法進(jìn)行轉(zhuǎn)移

轉(zhuǎn)移原數(shù)組的節(jié)點(diǎn)該放在新數(shù)組哪個(gè)位置:通過計(jì)算可以得出放在原來位置或者*2位,原數(shù)組從頭開始遍歷轉(zhuǎn)移(1:1、2:2、3:3)轉(zhuǎn)移到新數(shù)組變成(3:3、2:2、1:1)


被面試官狂問HashMap:回家直接肝了這套HashMap底層原理源碼教程,受益的評論 (共 條)

分享到微博請遵守國家法律
滁州市| 乐亭县| 邵东县| 沧源| 东宁县| 新巴尔虎左旗| 巫山县| 贡山| 永兴县| 彭山县| 荔波县| 吴旗县| 志丹县| 广宁县| 延长县| 岑巩县| 西昌市| 淮滨县| 高密市| 休宁县| 内江市| 登封市| 辽源市| 泾川县| 兰考县| 运城市| 普格县| 庄河市| 上蔡县| 哈巴河县| 洪江市| 工布江达县| 三门县| 紫阳县| 泌阳县| 巫溪县| 北流市| 布尔津县| 南昌县| 库车县| 孟州市|