1

多層ループで 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>> の内容が同じなのかということです。

4

1 に答える 1