Java中如何修改Map的键?示例:将键2改为3的实现方法
修改Map中条目的键
首先你写的map.get(2)=3;是错误语法,方法返回值不能直接赋值,而且这也不是修改键的操作。
Map的键无法直接修改,因为键是Map中条目的唯一标识。要把键为2的条目改成键为3的条目,需要按以下逻辑操作:
- 获取键2对应的数值
- 删除原有的键2条目
- 把获取到的数值以键3存入Map
正确代码示例
Map<Integer, Integer> map = new HashMap<>(); map.put(2, 2); // 获取键2对应的值 Integer value = map.get(2); // 移除键2的条目 map.remove(2); // 用键3存入对应的值(判断非空避免存入无效值) if (value != null) { map.put(3, value); }
如果能确定键2一定存在,也可以简化成一行(可读性稍弱):
map.put(3, map.remove(2));
map.remove(2)会返回键2对应的值,直接把这个值作为键3的value存入即可。
内容的提问来源于stack exchange,提问作者alex
相关产品推荐
相关产品推荐

