更新 Java 映射条目

2022-08-31 12:59:13

我面临的问题似乎没有直接的解决方案。

我正在使用 ,并且我想更新键值对中的值。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;
        }
    }
}

那么有没有办法让我获得所需的对象,而不必遍历整个?或者有没有办法就地更新条目的值?有些方法在喜欢?EntryMapMapsetValue(String key, int val)

断续器


答案 1

table.put(key, val);

以添加新的键/值对或覆盖现有键的值。

来自 Javadocs:

V put(K 键,V 值):将指定值与此映射中的指定键相关联(可选操作)。如果映射以前包含键的映射,则旧值将替换为指定的值。(映射 m 被称为包含键 k 的映射,当且仅当 m.containKey(k) 将返回 true。


答案 2

如果键存在,则只会覆盖该值,否则它将创建一个新条目。噗!你就完成了。:)table.put(key, val)

你可以通过使用键从地图中获取值,这就是关于它的table.get(key);


推荐