为什么Hashmap的容量是2的整次幂

别人:为什么Hashmap的容量是2的整次幂?
HashMap源码中获取元素下标是通过位运算

(n - 1) & hash

【为什么Hashmap的容量是2的整次幂】n为容量大小,hash为hashcode值。
  • 当n为2的n次幂时,(n-1)则为111...的形式,进行与操作效率快,得到的结果取决于hash值
  • 尽量减少冲突,让得到的下标值能够均匀分布。

    推荐阅读