最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

分享到微博請遵守國家法律
娄底市| 南通市| 黑水县| 区。| 筠连县| 威信县| 长顺县| 清苑县| 台南县| 澄江县| 南岸区| 宿迁市| 无极县| 南木林县| 县级市| 长垣县| 漳州市| 邢台县| 临沧市| 南昌市| 竹北市| 河源市| 泰顺县| 曲靖市| 溧阳市| 聂拉木县| 福海县| 竹山县| 新巴尔虎右旗| 怀安县| 田林县| 正定县| 延津县| 潢川县| 太康县| 周宁县| 正安县| 衡南县| 常州市| 扶余县| 安宁市|