Обновление записи в виде Java-карты

Я столкнулся с проблемой, которая, как представляется, не имеет решения для решения проблем.

Я использую 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

Ответ 1

Что не так с помощью

table.put(key, val);

?

Ответ 2

Если ключ присутствует, table.put(key, val) просто перезапишет значение, иначе он создаст новую запись. Пуф! и все готово.:)

вы можете получить значение с карты, используя ключ table.get(key); Что об этом

Ответ 3

Вы используете метод

public Object put(Object key, Object value)

если ключ уже присутствовал на Карте, возвращается предыдущее значение.