2の累乗の長さのハッシュテーブル(初期容量とサイズ変更のたび)を使用しない独自のハッシュマップを実装するかどうか疑問に思っています。その場合、オブジェクトのハッシュコードを使用して合計サイズを直接変更できますか?ハッシュ関数を使用してオブジェクトのハッシュコードをハッシュする代わりに?
例えば
public V put(K key, V value) {
if (key == null)
return putForNullKey(value);
// int hash = hash(key.hashCode()); original way
//can we just use the key's hashcode if our table length is not power-of-two ?
int hash = key.hashCode();
int i = indexFor(hash, table.length);
...
...
}