五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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底層原理源碼教程,受益的評論 (共 條)

分享到微博請遵守國家法律
扬州市| 迁安市| 河北区| 哈尔滨市| 陆丰市| 武穴市| 贡嘎县| 永泰县| 长沙县| 丰台区| 肃北| 波密县| 彰武县| 阜新市| 大丰市| 新平| 大厂| 永年县| 孙吴县| 逊克县| 临武县| 上高县| 梁平县| 柏乡县| 甘洛县| 汝阳县| 安阳市| 济源市| 天镇县| 石楼县| 通辽市| 新龙县| 招远市| 息烽县| 永康市| 治多县| 金山区| 宝兴县| 南充市| 昔阳县| 天长市|