HashMap初始容量爲什麼是2的n次冪及擴容爲什麼是2倍的形式

HashMap的初始容量都是2的n次冪的形式存在的,而擴容也是2倍的原來的容量進行擴容,也就是擴容後的容量也是2的n次冪的形式存在的,下面就來說明一下爲什麼是2的n次冪的形式!   先來看一下源碼,也就是向HashMap中添加元素,或者擴容時是怎麼存放元素的。   第一個截圖是向HashMap中添加元素putVal()方法的部分源碼,可以看出,向集合中添加元素時,會使用(n - 1) & hash
相關文章
相關標籤/搜索