重複の可能性:
奇妙な Java ハッシュ関数を理解する
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);
}
この実装のアルゴリズム原理がよくわかりません。参照できる説明やリソースはありますか?ありがとう !
アップデート
回答とリソースをありがとう。a bounded number of collisions
実際、私はハッシュがどのように機能するかを理解していますが、コメントにあるように、このコードが保証する理由はわかりません。理論的な検証はありますか?