更新 java 地图条目
我面临着一个似乎没有直接解决方案的问题。
我正在使用 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;
}
}
}
那么有没有什么方法可以让我获得所需的Entry对象,而不必迭代整个Map? 或者有什么方法可以更新条目的值? Map
中的某些方法,例如 setValue(String key, int val)
?
杰瑞赫
I'm facing a problem that seems to have no straighforward solution.
I'm using java.util.Map
, and I want to update the value in a Key-Value pair.
Right now, I'm doing it lik this:
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;
}
}
}
So is there any method so that I can get the required Entry
object without having to iterate through the entire Map
? Or is there some way to update the entry's value in place? Some method in Map
like setValue(String key, int val)
?
jrh
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
用于
添加新的键/值对或覆盖现有键的值。
来自 Java 文档:
Use
to add a new key/value pair or overwrite an existing key's value.
From the Javadocs:
如果 key 存在,
table.put(key, val)
将只覆盖该值,否则它将创建一个新条目。 噗! 你就完成了。 :)你可以使用 key is
table.get(key);
从地图中获取值 就是这样If key is present
table.put(key, val)
will just overwrite the value else it'll create a new entry. Poof! and you are done. :)you can get the value from a map by using key is
table.get(key);
That's about it您只需使用 方法
如果键已存在于 Map 中,则返回先前的值。
You just use the method
if the key was already present in the Map then the previous value is returned.