HashMap中的为什么hash的长度为2的幂而&位必须为奇数
1.介绍
如何实现一个尽量均匀分布的Hash函数呢?我们通过利用Key的HashCode值来做某种运算。
如何进行位运算呢?有如下的公式(Length是HashMap的长度):
index = HashCode(Key) & (Length - 1)
2.详解
下面我们以“book”的Key来演示整个过程:
计算book的hashcode,结果为十进制的3029...
原创
2018-07-09 22:54:48 ·
362 阅读 ·
0 评论