采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
map.put(nums1[i], map.get(nums1[i])+1); 老师,这个如果是map.put(nums1[i], map.get(nums1[i])++);就不行呢,这里没有自动装箱吗?
不是没有装箱的问题,是map.get(nums1[i])++根本是不合法的。
++是自增运算符,必须作用在一个变量上,把这个变量的结果加1,再装回给这个变量。但是map.get(nums1[i])不是一个变量。
思考一下下面的程序?
public class Main { public static void main(String[] args) { HashMap<Integer, Integer> map = new HashMap<>(); map.put(1, 1); map.get(1) ++; // 错误的。因为map.get(1)不是变量,而是一个函数读出来的常数 int a = 100; a ++; // 正确,a是一个变量 } }
继续加油!:)
登录后可查看更多问答,登录/注册
课程配套大量BAT面试真题,高频算法题解析,强化训练
1.4k 13
1.5k 12
983 11
1.9k 10
1.6k 10
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号