慕斯王
你两次添加到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);