为什么会是这种结果?
1 回答
慕斯王
TA贡献1864条经验 获得超2个赞
你两次添加到list中的都是同一个temp。
也就是说temp中有两个数据, [0:0]和[1:1], 然后你把这个temp对象两次加到list中了。
如果你想要有不同的结果,代码应该改成:
List<HashMap> list = new ArrayList<HashMap>();
HashMap temp = null;
for (int i = 0; i < 2; i++) {
temp = new HashMap(); // 每次都创建一个新的HashMap对象
temp.put(i, i);
list.add(temp);
}
System.out.println(list);
添加回答
举报
0/150
提交
取消