key.hashCode() & 0x7fffffff

private int hash(K key) {
// 为啥要把hash值和0x7FFFFFFF做一次按位与操作呢,
// 主要是为了保证得到的index的第一位为0,也就是为了得到一个正数。
// 因为有符号数第一位0代表正数,1代表负数。
return (key.hashCode() & 0x7fffffff) % m;
}

 

posted @ 2021-02-04 10:56  开顺  阅读(426)  评论(0编辑  收藏  举报