使用clear()清空map后,新值覆盖旧值

nyc18713582529 2016-11-29 02:24:59
在把一个map放入另一个map里的时候,已经把第一个map清空了,可还是会覆盖之前的值,是因为clear()方法清空map后GC没有立即回收吗?有大神能详细讲解一下吗?感激不尽

...全文
2088 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
MR.小迷糊 2018-03-20
  • 打赏
  • 举报
回复
举例: Map newmap=new HashMap(); newmap.put("a",1); List mylist=new ArrayList(); mylist.add(newmap); newmap.clear(); newmap.put("b",1); mylist.add(newmap); System.out.print(mylist); 结果:[{b=1}, {b=1}] 刚开始我也没想到会出现这样的问题,查看了资料,实际可以总结为把newmap看成是一个指向存值得指针,你放去list告诉list可以在内存什么位置找到这个数据,但是使用clear就会清楚该位置上的数据。 引用:http://blog.csdn.net/kiranet/article/details/43899391
  • 打赏
  • 举报
回复
没太懂什么意思,你是要把表一datas的数据循环给表二data吗?,你的输出已经实现了啊。
  • 打赏
  • 举报
回复
引用 2 楼 nyc18713582529 的回复:
[quote=引用 1 楼 qnmdcsdn 的回复:] 没看明白,谁覆盖谁了
我是想把表一的数据放入表二,表二之前的数据都会被表一的新数据覆盖[/quote] 看一下值传递与引用传递
nyc18713582529 2016-11-29
  • 打赏
  • 举报
回复
引用 1 楼 qnmdcsdn 的回复:
没看明白,谁覆盖谁了
我是想把表一的数据放入表二,表二之前的数据都会被表一的新数据覆盖
  • 打赏
  • 举报
回复
没看明白,谁覆盖谁了

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧