jrh*_*ath 69 java map in-place
我正面临一个似乎没有直接解决方案的问题.
我正在使用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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
那么有没有任何方法,以便我可以获得所需的Entry对象,而不必遍历整个Map?或者有没有办法更新条目的价值?在一些方法Map一样setValue(String key, int val)?
JRH
ska*_*man 151
使用
table.put(key, val);
Run Code Online (Sandbox Code Playgroud)
添加新的键/值对或覆盖现有键的值.
来自Javadocs:
V put(K键,V值):将指定值与此映射中的指定键相关联(可选操作).如果映射先前包含键的映射,则旧值将替换为指定的值.(当且仅当m.containsKey(k)返回true时,地图m才包含密钥k的映射.)
Pri*_*ank 11
如果key存在,table.put(key, val)则只会覆盖该值,否则它将创建一个新条目.噗!你完成了 :)
你可以通过使用密钥从地图中获取值是table.get(key);关于它的
你只需使用该方法
public Object put(Object key, Object value)
Run Code Online (Sandbox Code Playgroud)
如果密钥已经存在于Map中,则返回先前的值.
| 归档时间: |
|
| 查看次数: |
116493 次 |
| 最近记录: |