给大家推荐个靠谱的公众号程序员探索之路,大家一起加油
这个错误是 list集合添加的是map集合 是引用数据类型 然后map改变时 对应的list集合中的内容也会改变
所以输出是:10=10
package com.qf.second.day08_jdbc;
import java.awt.List;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class Textzzh {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Map<String, Integer>> list = new ArrayList<Map<String, Integer>>();
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("1", 1);
map.put("2", 2);
map.put("3", 3);
map.put("4", 4);
map.put("5", 5);
map.put("6", 6);
list.add(map);
//print(list);
map.clear();
map.put("10", 10);
list.add(map);
print(list);
}
public static void print(ArrayList<Map<String, Integer>> list){
for(int i = 0;i < list.size();i++){
for(Entry<String, Integer> m : list.get(i).entrySet()){
//if(i == 0){
//System.out.print(m.getKey()+"\t\t");
//}else{
System.out.print(m.getKey()+"="+m.getValue()+" ");
//}
}
System.out.println();
}
}
}