Flask接口签名sign原理与实例代码浅析
269
2022-12-10
Java集合Map的clear与new Map区别详解
对于clear与new Map的区别。我们首先来看一个例子,本例子是我在实际开发中遇到的,需求就是讲map放入到list中,说白了就是list转map,有两种实现方式,分别是:
// 方案一
Map
List
for (int i = 0; i < 5; i++) {
map1.clear();
map1.put(i, i * 2);
list1.add(mxureUdQeGap1);
}
// 方案二
Map
List
for (int i = 0; i < 5; i++) {
map2 = new HashMap<>();
map2.put(i, i * 2);
list2.add(map2);
}
大家可以猜猜上面代码执行的结果。与你们猜想的一致么。
解释:
xureUdQeG
方案一,我们只是把map.clear了(查看clear的源码,clear的作用是把map里每个属性设置为null,并把map的长度设置为0)。并没有销毁,map的指针还是存储在list里面了,所以后面新add到list里面的东西都是同一个map,都是指向同一个map,list里面存储的是map的指针;
方案二,不用我说了,每次创建新的mapxureUdQeG,每次都是不同的指针,
所以编码的时候要注意了。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~