Ich stehe vor einem Problem, das keine direkte Lösung zu haben scheint.
Ich verwende java.util.Map
und möchte den Wert in einem Schlüssel-Wert-Paar aktualisieren.
Im Moment mache ich es so:
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;
}
}
}
Gibt es also eine Methode, mit der ich das gewünschte Entry
Objekt erhalten kann, ohne das gesamte Objekt durchlaufen zu müssen Map
? Oder gibt es eine Möglichkeit, den Wert des Eintrags zu aktualisieren? Irgendeine Methode Map
wie setValue(String key, int val)
?
jrh
Antworten:
Verwenden
um ein neues Schlüssel / Wert-Paar hinzuzufügen oder den Wert eines vorhandenen Schlüssels zu überschreiben.
Aus den Javadocs:
quelle
Wenn der Schlüssel vorhanden ist,
table.put(key, val)
wird nur der Wert überschrieben, andernfalls wird ein neuer Eintrag erstellt. Poof! und du bist fertig. :) :)Sie können mit der Taste den Wert von einer Karte erhalten , ist
table.get(key);
das ist esquelle
Sie verwenden nur die Methode
public Object put(Object key, Object value)
Wenn der Schlüssel bereits in der Karte vorhanden war, wird der vorherige Wert zurückgegeben.
quelle