Hashtable 中Entry[] Index计算

int index = (hash & 0x7FFFFFFF) % tab.length;

hash值为int 4个字节 32bit.

为了在hash为负值的情况下,去掉起符号位,所以和0x7FFFFFFF进行&操作

0x7FFFFFFF 二进制 0111 1111 1111 1111 1111 1111 1111 1111

负数与其进行&操作将产生一个正整数

你可能感兴趣的:(Java)