你两次添加到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);
你两次添加到
list
中的都是同一个temp
。也就是说
temp
中有两个数据, [0:0]和[1:1], 然后你把这个temp
对象两次加到list
中了。如果你想要有不同的结果,代码应该改成: