HashMap的寻址算法 xiaojiuaigc@163.com 发布于 2024-11-06 392 次阅读 计算对象的 hashCode()再进行调用 hash() 方法进行二次哈希, hashcode值右移16位再异或运算,让哈希分布更为均匀最后 (capacity – 1) & hash 得到索引何HashMap的数组长度一定是2的次幂?计算索引时效率更高:如果是 2 的 n 次幂可以使用位与运算代替取模扩容时重新计算索引效率更高: hash & oldCap == 0 的元素留在原来位置 ,否则新位置 = 旧位置 + oldCap
Comments NOTHING