HashMap中hashcode()生成新哈希原理

1.取到hash值将高16位向低16位进行移动, 2.将原hash值的低16位与右移16位的高16位值做异或 ^ 运算, (异或运算可以使二进制0,1分散,而不是像使用 & | 集中全1,全0) 3.使得计算后的hash值与原hash值的两部分特征值相关(高低16位) 4.再将新hash值与n-1(15,二进制位除最高位为0其余全1)做与 & 运算 5.使之均匀放置在0-15个位置中,生成下标
相关文章
相关标签/搜索