HashMap初始容量为什么是2的n次幂及扩容为什么是2倍的形式

HashMap的初始容量都是2的n次幂的形式存在的,而扩容也是2倍的原来的容量进行扩容,也就是扩容后的容量也是2的n次幂的形式存在的,下面就来说明一下为什么是2的n次幂的形式!   先来看一下源码,也就是向HashMap中添加元素,或者扩容时是怎么存放元素的。   第一个截图是向HashMap中添加元素putVal()方法的部分源码,可以看出,向集合中添加元素时,会使用(n - 1) & hash
相关文章
相关标签/搜索