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