1. ホーム
  2. java

[解決済み] ハッシュマップのキーを指定して、値を更新するには?

2022-03-14 03:59:20

質問

があるとします。 HashMap<String, Integer> をJavaで作成します。

文字列の存在を見つけるたびに、string-keyの整数値を更新(インクリメント)するにはどうしたらよいでしょうか。

ペアを削除して再入力することも可能ですが、オーバーヘッドが懸念されます。
もう一つの方法は、新しいペアを置くだけで、古いペアが置き換わることです。

後者の場合、新たに挿入しようとするキーとハッシュコードの衝突があった場合はどうなるのでしょうか。ハッシュテーブルの正しい動作は、別の場所を割り当てるか、現在のバケットにリストを作成することでしょう。

解決方法は?

map.put(key, map.get(key) + 1);

は大丈夫でしょう。 これは既存のマッピングの値を更新します。 これはオートボックスを使っていることに注意してください。の助けを借りて map.get(key) で、対応するキーの値を取得したら、要件に応じて更新します。ここでは、値を1つ増やすように更新しています。