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

别人:为什么Hashmap的容量是2的整次幂?

HashMap源码中获取元素下标是通过位运算

(n - 1) & hash

n为容量大小,hash为hashcode值。

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

你可能感兴趣的:(为什么Hashmap的容量是2的整次幂)