这只是我的代码的基本表示:
所以我的循环将生成一堆哈希图,每个哈希图的键为“x”,值等于 i。每次通过后,地图将被添加到列表中。
List<HashMap> list = new ArrayList<HashMap>();
for (int i = 1; i <= counter; i++) {
HashMap map = new HashMap();
map.put("x", i);
list.add(new HashMap(map));
}
所以如果我打印出我的清单,如果counter = 5
:(我期待 1 2 3 4 5)
1
5
5
5
5
我怀疑这是某种引用错误?如果是这样,那么为什么第一个值是 1 而不是 5?
编辑:打印代码没有问题。在将每个地图添加到列表之前,我将其打印到控制台,所有地图看起来都很好。
然后当我打印列表时......它们都显示相同的值。