-
用&运算代替%运算,若不为2的幂次,内部数组会存在浪费
index = (tab.length - 1) & hash
若不为2的幂次,则减一后低位必存在0,这样相与后该位结果为0,那么在该位上为1的索引永远用不到,数组存在浪费
-
扩容时,方便定位
当相与的该位(图中橘色的X)
当相与的该位为0时,则结果不变,扩容后索引值不变
当相与的该位为1时,则结果为原索引值加原数组长度
用&运算代替%运算,若不为2的幂次,内部数组会存在浪费
index = (tab.length - 1) & hash
若不为2的幂次,则减一后低位必存在0,这样相与后该位结果为0,那么在该位上为1的索引永远用不到,数组存在浪费
扩容时,方便定位
当相与的该位(图中橘色的X)
当相与的该位为0时,则结果不变,扩容后索引值不变
当相与的该位为1时,则结果为原索引值加原数组长度
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。