容量が倍数または 2 でなければならないのはなぜですか? indexFor 関数で「&」を使用する理由 キーのハッシュ コードを直接使用するのではなく、ハッシュ関数でハッシュを再計算するのはなぜですか?
この実装と「アルゴリズム入門」の説明との間には、いくつかの重要な違いがあると思います。
>>> とはどういう意味ですか?
static int hash(int h) {
// This function ensures that hashCodes that differ only by
// constant multiples at each bit position have a bounded
// number of collisions (approximately 8 at default load factor).
h ^= (h >>> 20) ^ (h >>> 12);
return h ^ (h >>> 7) ^ (h >>> 4);
}
誰かガイドを教えてもらえますか?誰かがハッシュアルゴリズムを説明できれば幸いです。どうもありがとう!