2016-06-14 6 views

答えて

6

いいえ、通常、ハッシュバケットの配列は小さく(現在の実装では16)始まり、テーブルのエントリ数が「ローディング係数」を超えて増加すると展開されます。各展開時に、配列のサイズは2倍になります。実際のハッシュテーブルインデックスはhashCode % numberOfBucketsとして計算されるため、ハッシュコード値は現在のテーブルサイズに収まるように「折りたたまれています」。

私はあなたがハッシュバケット配列のサイズを変更すると、すべてのハッシュインデックスを再計算し、すべてのエントリは、新しいデータ構造に再挿入する必要があるとして、非常に高価な操作であり、それが支払うこと source code on grepcode.com

ノートを見に行くお勧め

可能であれば、必要なサイズをあらかじめ推測すること。

関連する問題