ハッシュマップの拡張機能はどのようなものですか?

HashMap の拡張メカニズムは、格納されたキーと値の数があるしきい値(ロードファクターで設定されている)を超えたとき、自動的に拡張操作が作動することを指します。デフォルトのロードファクターは 0.75 です。

容量拡大の操作には主に次の手順が含まれます。

  1. 元の配列の 2 倍の容量がある新しい配列を作成する。
  2. 配列内で各要素を走査し、配列内での新しい位置を計算し直して新しい配列に配置する
  3. HashMapの配列を新規配列で上書きし、関連するプロパティ値を更新する。

HashMapはリサイズ時に、キーバリューペアの配列内での新しい位置を再計算する必要がある。これは、ハッシュコードの結果と新しい配列長の論理AND演算を行うことで実現される。これにより、新しい位置が依然として古い位置と同じハッシュ値の最下位ビットを持つことが保証される。このプロセスは、再ハッシュ化(rehashing)と呼ばれます。

HashMapの容量を拡張する操作は、すべてのキーと値のハッシュ値を再計算してそれらを新しい配列に入れる必要があるため、HashMapのパフォーマンスを低下させます。そのため、HashMapが保存するキーと値の数がわかっている場合は、HashMapの作成時に初期容量を大きく指定することで拡張操作の頻度を減らし、パフォーマンスを向上させることができます。

bannerAds