如何向Map中添加数据

如何向Map中添加数据,第1张

向Map中添加数据的步骤如下:

1.首先使用insert方式插入三组数据到map容器中,然后遍历打印容器中存放的数据。

2.从输出的结果看,三组数据成功存放到map容器。

3.接下来仍然使用insert方式,但是插入的是value_type的数据。

4.从输出结果看,采用插入value_type数据显示现象与前一种方式是相同。这样就解决了向Map中添加数据的问题了。

Map map = new HashMap()

for (int i = 0i <10i++) {

List list = new ArrayList()

for (int j = 0j <20j++) {

list.add(j)

}

map.put(i, list)

}

System.out.println(map)

这样就可以了。

List list = new ArrayList()这句你放在发最外面,这是一个对象,你在循环里面做什么 *** 作,都是 *** 作的这个对象,所以,虽然你用了map.put把list给put进去了,可是,list还保留着对这个对象的引用,当你用list.clear()的时候,就已经通过list把list所引用对象里面的内容给清了。map.put,里面保留了的对象,也只不过是一个对象的引用而已。在你的代码中,list所new的对象的引用,是不止一处的,map中所保存的所有的对象,还有外面的list,都是引用得同一个对象。在你的代码的循环完成后,加一句:list.add(0),你会发现,map里面所有的元素,都已经多加了一个0了。

JAVA中,如果生成了一个对象,不管你把对象放哪里,都只是对这个对象的一个引用,每放一个地方,就会多一个引用,如此而已。如果想要放弃对生成的对象的引用,要用list=null这种方式,而不是clear,clear方法是引用到对象以后,调用对象的clear方法,所以,不要误解了。

慢慢来,这些错误难免会犯,等对JAVA熟练了,细心一点就可以很轻松发现这问题了,一起加油。

说得有点乱哈,但愿还能看嘀懂,嘻嘻

天天开心呀。。。

:)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11349486.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存