私は割り当てに取り組んでおり、10,000個の数値をロードサイズ.1、.2 .3 ....〜.9のハッシュテーブルにハッシュする必要がありました。私の問題は、ハッシュ関数がオーバーフローなどを発生させていることです。36077(mod)20,000のように負荷率が.5のテーブルのハッシュを実行している場合、キーとして16070が返されます。これは、負荷率を超える数値でのみ発生します。これは私のハッシュ関数のコードです。
public int linearHash(int in){
int hashKey = in%hashTableArray.length;
while(this.hashTableArray[hashKey] != 0){
hashKey += 1;
}
return hashKey;
}
ありがとうございました。