我面临的问题似乎没有直截了当的解决方案。更新java映射条目
我正在使用java.util.Map
,我想更新键值对中的值。
现在,我正在做这个LIK:
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
PS:其table.entrySet()。我在这里输入了错误信息。 – jrharshath 2009-06-30 07:11:21
您可以删除第一个“if”语句。如果密钥不存在,它仍会导致完整的迭代。如果你删除它,你仍然会遍历整个地图,并且如果密钥不存在则不执行任何操作。现在,如果键存在,则遍历地图,发现它存在,然后再次遍历条目。 – 2015-07-23 23:48:04