java - 将 LinkedHashMap 对象添加到 ArrayList 中

标签 java arraylist linkedhashmap

这是我的代码:

ArrayList<LinkedHashMap<String, String>> lev3 = new ArrayList<LinkedHashMap<String, String>>();
LinkedHashMap<String, String> lev4 = new LinkedHashMap<String, String>();

for (int k = 0; k < 2; k++) {
   lev4.clear();
   lev4.put("item0"+k, "subitem0"+k);
   lev4.put("item1"+k, "subitem1"+k);
   lev4.put("item2"+k, "subitem2"+k);
   lev4.put("item3"+k, "subitem3"+k);
   lev4.put("item4"+k, "subitem4"+k);
   lev3.add(lev4);

   System.out.println(lev4);
   System.out.println(lev3);
   System.out.println();
}

结果:

{item00=subitem00, item10=subitem10, item20=subitem20, item30=subitem30, item40=subitem40}
[{item00=subitem00, item10=subitem10, item20=subitem20, item30=subitem30, item40=subitem40}]

{item01=subitem01, item11=subitem11, item21=subitem21, item31=subitem31, item41=subitem41}
[{item01=subitem01, item11=subitem11, item21=subitem21, item31=subitem31, item41=subitem41}, {item01=subitem01, item11=subitem11, item21=subitem21, item31=subitem31, item41=subitem41}]

为什么第二个值会替换第一个值并且重复?

谢谢。

最佳答案

您应该在每次迭代时添加一个 LinkedHashMap 的新实例。

关于java - 将 LinkedHashMap 对象添加到 ArrayList 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20644133/

相关文章:

java - 如何防止LinkedHashMap替换Key/Value?

java - LinkedHashMap 到 LinkedHashMap 或 ArrayList 的逆序

java - GoogleAppEngine 上的 JDO : How to efficiently retrieve a subset of fields from a huge number of records

android - 单击 listView 时不显示任何消息

java - 使用 ObjectInputStream 从文件中读取对象?类未找到异常

c# 从 ArrayList 获取对象属性

mysql - 将数据库查询的值返回到 LinkedHashMap

java - 使用分隔符对数组列表进行排序

java - Alluxio master动态地有详细的输出是正常的吗

java - 覆盖 HashMap 中的等于问题