List中存放map时,map中key相同,value不同时:
Test.java(下面为错误代码)
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
Map<String, Object> A_map = new HashMap<String, Object>();
Map<String, Object> a_map = new HashMap<String, Object>();
int j = 3;
for (int i = 0; i < 2; i++) {
a_map.put("a1", i);
a_map.put("a2", j);
A_map.put("A", a_map);
list.add(A_map);
++j;
}
System.out.println("list"+list);
}
}
输出(错误输出):
list[{A={a1=1, a2=4}}, {A={a1=1, a2=4}}]
Test.java(下面为正确代码)
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
int j = 3;
for (int i = 0; i < 2; i++) {
Map<String, Object> A_map = new HashMap<String, Object>();
Map<String, Object> a_map = new HashMap<String, Object>();
a_map.put("a1", i);
a_map.put("a2", j);
A_map.put("A", a_map);
list.add(A_map);
++j;
}
System.out.println("list"+list);
}
}
输出(正确输出):
list[{A={a1=0, a2=3}}, {A={a1=1, a2=4}}]