你知道 hash 的实现吗?为什么要这样实现?

你知道 hash 的实现吗?为什么要这样实现?

在 JDK 1.8 的实现中,是通过 hashCode() 的高16位异或低16位实现的:(h = k.hashCode()) ^ (h >>> 16)。

主要是从速度、功效、质量 来考虑的,这么做可以在桶的 n 比较小的时候,保证高低 bit 都参与到 hash 的计算中,同时位运算不会有太大的开销。
---------------------
作者:拭心
来源:CSDN
原文:https://blog.csdn.net/u011240877/article/details/53351188
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/shujiying/p/11121799.html