私は簡単な解決策がないように見える問題に直面しています。
_Java.util.Map
_を使用していますが、キーと値のペアの値を更新したいです。
今、私はこれをやっています:
_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キー、V値):指定された値をこのマップ内の指定されたキーに関連付けます(オプションの操作)。マップに以前にキーのマッピングが含まれていた場合、古い値は指定された値に置き換えられます。 (マップmは、m.containsKey(k)がtrueを返す場合にのみ、キーkのマッピングを含むと言われます。)
キーが存在する場合、table.put(key, val)
は値を上書きするだけです。それ以外の場合は、新しいエントリが作成されます。失礼!これで完了です。 :)
キーis table.get(key);
を使用してマップから値を取得できます