Java:创建HashMap列表

我试图创建一个地图列表。在下面的代码中,我期望得到

[{start=1,text=ye}, {start=2,text=no}]

但是,我只有

[{start=2,text=no}, {start=2,text=no}]

如何避免覆盖第一张地图?这是我的代码:

HashMap mMap = new HashMap();

ArrayList list = new ArrayList();

list.add(new HashMap());

mMap.put("start",1);

mMap.put("text","yes");

list.add(mMap);

mMap.put("start",2);

mMap.put("text","no");

list.add(mMap);

System.out.println("Final result: " + list );

谢谢!

=========================

作为来自过程语言背景(SAS)的Java学习者,我花了很多时间学习和试验ArrayList,LinkedList,Map,LinkedMap等-

我无法使它正常工作。而且我不了解我的有限知识。现在,以下所有答案都很出色!他们至少对我来说,用Java解释了非常重要的数据结构。

谢谢你们!!!!

回答:

您需要为每个条目创建一个新的HashMap,而不是重用现有的。这将工作:

HashMap mMap = new HashMap();

mMap.put("start",1);

mMap.put("text","yes");

list.add(mMap);

mMap = new HashMap(); // create a new one!

mMap.put("start",2);

mMap.put("text","no");

list.add(mMap);

此外,您也可以删除,list.add(new HashMap());因为会将空地图添加到您的列表中,此地图永远不会填充。

以上是 Java:创建HashMap列表 的全部内容, 来源链接: utcz.com/qa/408082.html

回到顶部