爲什麼HashMap的容量必須爲大於該容量的最小的2的n次冪

調用HashMap的put方法將一個鍵值對存到map中,會先計算key的散列值。該散列值是int基本類型,int的範圍爲~,用這個散列值來確定map的數組下標(jdk8之前HashMap的數據結構是數組+鏈表,jdk8之後又加上了紅黑樹)。但這散列值太大,map的容量不可能這麼大,會內存溢出。所以需要通過一種方式將這個key的散列值與map的容量對應起來。比如說將散列值與map容量取模,這樣得到的
相關文章
相關標籤/搜索