HashMap的hash()方法与tableSizeFor()方法
HashMap源码
hash()方法
这是扰动函数,目的是为了避免碰撞问题
static final int hash(Object key) {
int h;
return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
}
从上面的方法可以看到key的hash值得计算方法,key的高16位不变,低16位与高16位进行异或操作作为最终的hash值
(h >>>
原创
2021-12-12 17:05:52 ·
774 阅读 ·
0 评论