[解決済み] HashMapのキー存在チェック
2022-03-16 18:22:05
質問
HashMapのキー存在チェックは常に必要ですか?
1000項目程度のHashMapがあり、効率化を検討しています。 HashMapが非常に頻繁にアクセスされる場合、アクセスのたびにキーの存在をチェックすると、大きなオーバーヘッドにつながります。その代わり、もしキーが存在しないために例外が発生した場合、その例外をキャッチすることができる。(めったに起きないとわかっている場合)。これでHashMapへのアクセスは半分くらいになる。
これは良いプログラミング方法ではないかもしれませんが、アクセス回数を減らすのに役立ちますね。それとも、私はここで何かを見逃しているのでしょうか?
[ 更新情報 ] HashMapにNULL値を入れていない。
どうすればいいですか?
NULL値を格納することはありますか?そうでない場合は、そのままで大丈夫です。
Foo value = map.get(key);
if (value != null) {
...
} else {
// No such key
}
それ以外の場合は かもしれない は、NULL 値が返されたときに存在するかどうかをチェックするだけです。
Foo value = map.get(key);
if (value != null) {
...
} else {
// Key might be present...
if (map.containsKey(key)) {
// Okay, there's a key but the value is null
} else {
// Definitely no such key
}
}
関連
-
コンストラクタの呼び出しは、コンストラクタのエラー理解の最初のステートメントである必要があります。
-
JDKの設定時にjava.dllが見つからない、java SE Runtime Environmentが見つからない問題が発生しました。
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] instanceofを呼び出す前にnullチェックは必要ですか?
-
[解決済み] HashMapを直接(リテラルに)初期化する方法は?
-
[解決済み] ハッシュマップのキーを指定して、値を更新するには?
-
[解決済み] Java Hashmap。値からキーを取得する方法は?
-
[解決済み] C# Java HashMap相当
-
[解決済み】HashMap、LinkedHashMap、TreeMapの違いについて
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
ファインバグタイプ
-
eclipse で「アクセス制限: タイプ 'HttpServer' は API ではありません」というプロンプトが表示される。
-
コンストラクタの呼び出しは、コンストラクタのエラー理解の最初のステートメントである必要があります。
-
JavaMailのメール送信が失敗するケースとその説明の分析
-
JQuery DataTable 详解
-
Methodのinvokeメソッド実装のJavaリフレクション
-
アイデア Springboot Web プロジェクトを jar にパッケージ化する場合、Error: 無効または破損した jarfile x.jar 解決策
-
java.lang.NoClassDefFoundError: org.apache.jasper.el.ELContextImpl クラスを初期化できませんでした。
-
maven プラグイン エラー プラグインの実行は、ライフサイクル構成ソリューションの対象外です。
-
[解決済み】コレクションのhashCodeメソッドの最適な実装について