1. ホーム
  2. java

java mapのエントリーを更新する

2023-10-10 05:39:03

質問

明快な解決策がないような問題に直面しています。

私は java.util.Map で、Key-Valueペアの値を更新したい。

今、私はこのようにやっています。

private Map<String,int> table = new HashMap<String,int>();
public void update(String key, int val) {
    if( !table.containsKey(key) ) return;
    Entry<String,int> entry;
    for( entry : table.entrySet() ) {
        if( entry.getKey().equals(key) ) {
            entry.setValue(val);
            break;
        }
    }
}

というわけで、必要な Entry オブジェクトを取得する方法はありますか? Map ? あるいは、その場でエントリーの値を更新する方法があるのでしょうか?の何らかのメソッドが Map のように setValue(String key, int val) ?

jrh

どのように解決するのですか?

使用方法

table.put(key, val);

を使って、新しいキーと値のペアを追加したり、既存のキーの値を上書きすることができます。

Javadocsから。

V put(K key, V value): 指定された値をこのマップの指定されたキーと関連付ける(オプションの操作)。もしマップが以前にキーのマッピングを含んでいた場合、古い値は指定された値で置き換えられる。(マップmは、m.containsKey(k)が真を返す場合に限り、キーkのマッピングを含むといいます)。