在 HashMap 中增加一个整数 [英] Increment an Integer within a HashMap

查看:29
本文介绍了在 HashMap 中增加一个整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须返回对象然后放入一个新对象吗?或者我可以直接增加吗?

Do I have to return the object and then put a new one in ? Or can I just directly increment ?

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

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

there is no way to just do this (this doesn't work) :

myMap.get(key)++;

推荐答案

我必须返回对象然后放入一个新对象吗?

Do I have to return the object and then put a new one in ?

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

As long as you use the Integer wrapper class yes, because it's immutable. You could use a mutable wrapper class instead, even one that has an increment() method. However, you then lose the ability to use autoboxing and autounboxing on the values.

这篇关于在 HashMap 中增加一个整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆