[解決済み】HashMapのロードファクターの意味は何ですか?
質問
HashMap
には、2つの重要な特性があります。
size
と
load factor
. Java のドキュメントを調べてみると
0.75f
は初期負荷率です。しかし、実際の使い方がわかりません。
どなたか、負荷率を設定する必要があるさまざまなシナリオと、さまざまなケースでの理想的な値の例について説明していただけませんか?
どのように解決するのですか?
その ドキュメント は、かなりよく説明しています。
<ブロッククオートHashMapのインスタンスは、初期容量と負荷率という性能に影響を与える2つのパラメータを持っています。容量とはハッシュテーブルのバケット数で、初期容量とは単にハッシュテーブルが作成されたときの容量のことです。ロードファクターは、ハッシュテーブルがどの程度一杯になると自動的に容量が増加するかを示す指標である。ハッシュテーブルのエントリ数が負荷率と現在の容量の積を超えると、ハッシュテーブルはリハッシュされ(つまり、内部データ構造が再構築され)、バケット数がおよそ2倍になる。
一般的なルールとして、デフォルトのロードファクター(.75)は、時間とスペースのコストの間の良いトレードオフを提供します。値を大きくすると、スペース・オーバーヘッドは減少しますが、ルックアップ・コストが増加します(get や put を含む HashMap クラスのほとんどの操作に反映されます)。マップの初期容量を設定する際には、リハッシュ操作の回数を最小にするために、予想されるエントリの数と負荷率を考慮する必要があります。初期容量が最大エントリ数を負荷率で割った値よりも大きい場合、リハッシュ操作は発生しません。
すべての性能最適化と同様に、時期尚早に(つまり、ボトルネックがどこにあるのかについての確かなデータがないままに)最適化を行うことは避けるのが得策です。
関連
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] JavaBeanとは何ですか?
-
[解決済み] Could not find or load main class "とはどういう意味ですか?
-
[解決済み] HashMapを直接(リテラルに)初期化する方法は?
-
[解決済み] Javaにおける例外処理によるパフォーマンスへの影響とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] tempとは何ですか、またjavaにおけるtempの用途は何ですか?
-
[解決済み] Application startメソッドで例外が発生する。JavaFx 11
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] Java Swingで複数のボタンに対して複数のActionListenersを追加する方法
-
[解決済み] 型の不一致:ArrayListからListへの変換ができない
-
[解決済み] JavaにおけるMouseListenerとMouseAdapterの違いについて
-
[解決済み] eclipseからTomcatに物理的に発行されるmyjspはどこにあるのでしょうか?
-
[解決済み] スリーピング中のスレッドが割り込まれ、データベースへの接続が失われる
-
[解決済み] Spring ApplicationContext - リソースリーク: 'context' が閉じられない
-
[解決済み] java swingアプリケーションでJCEがプロバイダBCを認証できない