当我在多层循环中使用 ArrayList<Map<String,Object>> 时, ArrayList<Map<String,Object>> 很奇怪。
import java.util.*;
public class Main {
public static void main(String [] args){
ArrayList<Map<String, Object>>resList=new ArrayList<>();
ArrayList<Map<String, Object>>resList1=new ArrayList<>();
ArrayList<String>feeNameList=feeNameList();
for(int i=0;i<1;i++){
Map<String, Object>temp=new HashMap<>();
for(int j=0;j<feeNameList.size();j++){
temp.put("feeName",feeNameList.get(j));
System.out.println(temp);
resList.add(temp);
}
}
System.out.println(resList);
System.out.println("------------------------------------------------");
for(int i=0;i<feeNameList.size();i++){
Map<String, Object>temp=new HashMap<>();
temp.put("feeName",feeNameList.get(i));
System.out.println(temp);
resList1.add(temp);
}
System.out.println(resList1);
}
public static ArrayList<String>feeNameList(){
Set<String> costNameSets=new HashSet<>();
costNameSets.add("CIC");
costNameSets.add("VGM申报费VGM_COST");
costNameSets.add("延补料费");
ArrayList<String> costNameList=new ArrayList<>();
costNameList.addAll(costNameSets);
return costNameList;
}
}
所以我想问的是,当我在多层循环中使用 ArrayList<Map<String, Object>> 时,为什么 ArrayList<Map<String, Object>> 的内容是一样的。