在 HashMap 中增加一个整数

新手上路,请多包涵

我是否必须退回该对象,然后再放入一个新对象?或者我可以直接增加吗?

 Integer temp = myMap.get(key);
temp++;
myMap.put(key, temp);

没有办法做到这一点(这不起作用):

 myMap.get(key)++;

原文由 NimChimpsky 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 414
2 个回答

我是否必须退回该对象,然后再放入一个新对象?

只要您使用 Integer 包装类就可以,因为它是不可变的。您可以改用可变包装类,即使是具有 increment() 方法的包装类。但是,您随后将失去对值使用自动装箱和自动拆箱的能力。

原文由 Michael Borgwardt 发布,翻译遵循 CC BY-SA 2.5 许可协议

这是完成这项工作的最短代码。

 myMap.put(key, myMap.get(key) + 1)

我觉得时间不会太长。

原文由 AlexR 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题