HashMap 爲什麼是2倍擴容

我們通過源碼來分析下,HashMap 爲什麼是2倍擴容, 看源碼,得知通過計算(n - 1) & hash來確定key的索引位置,當HashMap的容量是2的n次冪時,n - 1的後幾位數都是爲1,如15的二進制後四位爲1111,這樣與1或0進行與運算時,得到的結果可能爲1或0,不單單爲1或0。 總結,HashMap以2倍擴容,目的就是減少hash碰撞,使元素分配均勻。
相關文章
相關標籤/搜索