在java的Map集合中,怎样更改value的值

如题所述

import java.util.HashMap;
import java.util.Map;

public class Demo {
public static void main(String[] args) {
Map<Integer,Integer> m = new HashMap<Integer,Integer>();
m.put(1, 1);
print(m);
m.put(1, 2);
print(m);
}

private static void print(Map<Integer, Integer> m) {
for(Map.Entry<Integer, Integer> mm : m.entrySet())
System.out.println("K: "+mm.getKey()+",V: "+mm.getValue());
}
}

//供参考,重新放一个相同的key,会自动覆盖value的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-27

修改map中的value只需要在此put对应key和新的value即可修改。

Map<String,String> maps = new HashMap<>();
maps.put("test","test");
System.out.println("key test ,vlaue : "+maps.get("test"));
maps.put("test","test1");
System.out.println("key test ,vlaue : " + maps.get("test"));

结果如下:

本回答被网友采纳
第2个回答  2017-12-29
重新put就可以,前提是你知道key

Map map = new HashMap();
map.put("key", "123456789");
System.out.println("第一次赋值="+map.get("key"));
map.put("key", "ABCDEFGHIJK");
System.out.println("第二次赋值="+map.get("key"));

第一次赋值=123456789
第二次赋值=ABCDEFGHIJK
第3个回答  2018-06-28
用replace方法修改
Map<Integer, Integer> map=new HashMap<>();
map.put(1, 1);
System.out.println(map.get(1));
map.replace(1, map.get(1)+1);
System.out.println(map.get(1));
第4个回答  2015-11-28
重新将数据put进去就好了,还用原来的key
相似回答