0

私の理解と私が読んだことによると

負荷率は、容量が自動的に増加する前に、ハッシュ テーブルがどれだけいっぱいになることができるかの尺度です。

したがって、loadfactor が .8(80%) の場合、マップ サイズが 10Mapの場合、8 つの要素が に配置されると、サイズが 10 だけ大きくなりMapます。

したがって、Mapサイズは 20 になりました。私の疑問は、次の 10 要素スペースが にいつ追加されるかMapです。

  • が再び 80% 埋まったときMap、つまり 16 個の要素が に入れられたときMapです。

また

  • 18枚のエレメントを入れた場合Map
4

4 に答える 4

1

ロードファクター80%なので16エレメント。そこにある要素の合計量とその時点での最大容量に応じて、サイズ変更が計算されます。

最後のサイズ変更は追跡されません。

于 2013-11-20T16:57:42.853 に答える
1

それは 16 になります。 の Java コードを見ると、次のようになりますHashMap

threshold = (int)(newCapacity * loadFactor);

ここで、新しい容量は新しいサイズです。したがって、この例の制限は 16 になります。

于 2013-11-20T16:59:21.237 に答える