-
源碼
if ((p = tab[i = (n - 1) & hash]) == null) tab[i] = newNode(hash, key, value, null); // n代表數(shù)組的長(zhǎng)度 -
HashMap1.8數(shù)組默認(rèn)初始長(zhǎng)度為16,每次擴(kuò)容2倍
以數(shù)組長(zhǎng)度16為例,其二進(jìn)制數(shù)為 10000,減1后為 01111,
數(shù)組下標(biāo) i = (n - 1) & hash 的最大值 為15。
以此類推,2的N次方,其地位都是1,可以保證在經(jīng)過(guò)與key的hash值的&運(yùn)算之后,下標(biāo)在
之中,是個(gè)正確的下標(biāo)。
1.8HashMap源碼之:HashMap的數(shù)組長(zhǎng)度為什么設(shè)置成2的N次方
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 一、基本數(shù)據(jù)類型 注釋 單行注釋:// 區(qū)域注釋:/* */ 文檔注釋:/** */ 數(shù)值 對(duì)于byte類型而言...
- Module-Crypto 這個(gè)模塊是最古老的模塊之一,擁有CryptoAPI功能。主要是有certutil有利于...
- 1997年,IBM制造的“深藍(lán)”在國(guó)際象棋比賽中擊敗世界冠軍卡斯巴羅夫,當(dāng)時(shí)引發(fā)了“人類是否將被機(jī)器取代”的擔(dān)憂。...
- 也許我們看過(guò)太多身邊追求“安穩(wěn)”的人生,以至于認(rèn)為這就該是自己的一生; 也許我們聽(tīng)過(guò)太多道理,卻不能按照自己的意愿...
- 【主題4】:吃番茄,掐時(shí)間 http://www.itdecent.cn/p/8fb1570a39b5 【A1:...