Ответ 1
Что не так с помощью
table.put(key, val);
?
Я столкнулся с проблемой, которая, как представляется, не имеет решения для решения проблем.
Я использую 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);
?
Если ключ присутствует, table.put(key, val)
просто перезапишет значение, иначе он создаст новую запись. Пуф! и все готово.:)
вы можете получить значение с карты, используя ключ table.get(key);
Что об этом
Вы используете метод
public Object put(Object key, Object value)
если ключ уже присутствовал на Карте, возвращается предыдущее значение.