HashMap初始容量設(shè)為16的原因是什么,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
專注于為中小企業(yè)提供網(wǎng)站制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)文縣免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
length 的值為 2 的整數(shù)次冪,h & (length - 1)相當(dāng)于對 length 取模。這樣提高了效率也使得數(shù)據(jù)分布更加均勻。
為什么會更加均勻? length的值為偶數(shù),length - 1 為奇數(shù),則二進(jìn)制位的最后以為為1,這樣保證了 h & (length - 1) 的二進(jìn)制數(shù)最后一位可能為1,也可能為0。如果為length為奇數(shù),那么就會浪費(fèi)一半的空間。
關(guān)于HashMap初始容量設(shè)為16的原因是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。