package test;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class TestListSize {
public static void main(String[] args) {
List list = new ArrayList<>();
Map<String,Object> map = new HashMap<String,Object>();
for (int i = 0; i < 10; i++) {
map.put("test", i);
System.out.println("map: "+map);
list.add(map);
System.out.println("list: "+list);
}
System.out.println(list);
}
}以上这是源代码map: {test=0}
list: [{test=0}]
map: {test=1}
list: [{test=1}, {test=1}]
map: {test=2}
list: [{test=2}, {test=2}, {test=2}]
map: {test=3}
list: [{test=3}, {test=3}, {test=3}, {test=3}]
map: {test=4}
list: [{test=4}, {test=4}, {test=4}, {test=4}, {test=4}]
map: {test=5}
list: [{test=5}, {test=5}, {test=5}, {test=5}, {test=5}, {test=5}]
map: {test=6}
list: [{test=6}, {test=6}, {test=6}, {test=6}, {test=6}, {test=6}, {test=6}]
map: {test=7}
list: [{test=7}, {test=7}, {test=7}, {test=7}, {test=7}, {test=7}, {test=7}, {test=7}]
map: {test=8}
list: [{test=8}, {test=8}, {test=8}, {test=8}, {test=8}, {test=8}, {test=8}, {test=8}, {test=8}]
map: {test=9}
list: [{test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}]
[{test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}]以上是控制台输出的为什么list中已经存进去的(test=0)在后面会被改变成(test=1)???
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class TestListSize {
public static void main(String[] args) {
List list = new ArrayList<>();
Map<String,Object> map = new HashMap<String,Object>();
for (int i = 0; i < 10; i++) {
map.put("test", i);
System.out.println("map: "+map);
list.add(map);
System.out.println("list: "+list);
}
System.out.println(list);
}
}以上这是源代码map: {test=0}
list: [{test=0}]
map: {test=1}
list: [{test=1}, {test=1}]
map: {test=2}
list: [{test=2}, {test=2}, {test=2}]
map: {test=3}
list: [{test=3}, {test=3}, {test=3}, {test=3}]
map: {test=4}
list: [{test=4}, {test=4}, {test=4}, {test=4}, {test=4}]
map: {test=5}
list: [{test=5}, {test=5}, {test=5}, {test=5}, {test=5}, {test=5}]
map: {test=6}
list: [{test=6}, {test=6}, {test=6}, {test=6}, {test=6}, {test=6}, {test=6}]
map: {test=7}
list: [{test=7}, {test=7}, {test=7}, {test=7}, {test=7}, {test=7}, {test=7}, {test=7}]
map: {test=8}
list: [{test=8}, {test=8}, {test=8}, {test=8}, {test=8}, {test=8}, {test=8}, {test=8}, {test=8}]
map: {test=9}
list: [{test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}]
[{test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}, {test=9}]以上是控制台输出的为什么list中已经存进去的(test=0)在后面会被改变成(test=1)???
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货