用&运算代替%运算,若不为2的幂次,内部数组会存在浪费
index = (tab.length - 1) & hash
若不为2的幂次,则减一后低位必存在0,这样相与后该位结果为0,那么在该位上为1的索引永远用不到,数组存在浪费
扩容时,方便定位
当相与的该位(图中橘色的X)
当相与的该位为0时,则结果不变,扩容后索引值不变
当相与的该位为1时,则结果为原索引值加原数组长度
标签:该位,相与,幂次,索引,数组,若不为,HashMap
来源: https://www.cnblogs.com/HanYu-chn/p/11778432.html