Java中的HashMap实现 桶索引计算如何工作?
它不是在计算 哈希 ,而是在计算 存储桶 。
表达h & (length-1)
确实逐位AND
上h
使用length-1
,这是像一个位掩码,以便仅返回的低位比特h
,从而使得对于一个超高速变体h % length
。
解决方法
我正在研究HashMap
Java 的实现,只停留在一点。
该indexFor
函数如何计算?
static int indexFor(int h,int length) {
return h & (length-1);
}
谢谢
你可能想看: