0

私はColorTypeのオブジェクトを含む配列を持っており、これらのオブジェクトはsalaryCodeを持っているので、私がやろうとしているのは、まず配列をarrayListとして作成したいということです。次に、salaryCodeと同じsalaryCodeを持つオブジェクトに基づいて短くする必要があります別のarrayListに追加され、その配列リストはハッシュマップに追加する必要があります。これを解決するのを手伝ってください..事前に感謝します

私はサンプルコードを持っています...

import java.util.ArrayList;

import java.util.HashMap;
import java.util.List;

import ColorType;


public class test {


    public static void main(String[] args) {

        List<ColorType> sortColorList = new ArrayList<ColorType>();
        ColorType colorType = new ColorType();

        colorType.setNRFColorSubFamilyCode("11");

        ColorType colorType1 = new ColorType();

        colorType1.setNRFColorSubFamilyCode("11");

        ColorType colorType2 = new ColorType();

        colorType2.setNRFColorSubFamilyCode("11");

        ColorType colorType3 = new ColorType();

        colorType3.setNRFColorSubFamilyCode("11");

        ColorType colorType4 = new ColorType();

        colorType4.setNRFColorSubFamilyCode("12");

        ColorType colorType5 = new ColorType();

        colorType5.setNRFColorSubFamilyCode("12");

        ColorType colorType6 = new ColorType();

        colorType6.setNRFColorSubFamilyCode("13");

        ColorType colorType7 = new ColorType();

        colorType7.setNRFColorSubFamilyCode("13");

        ColorType colorType8 = new ColorType();

        colorType8.setNRFColorSubFamilyCode("14");

        sortColorList.add(colorType);
        sortColorList.add(colorType1);
        sortColorList.add(colorType2);
        sortColorList.add(colorType3);
        sortColorList.add(colorType4);
        sortColorList.add(colorType5);
        sortColorList.add(colorType6);
        sortColorList.add(colorType7);
        sortColorList.add(colorType8);

        int index = sortColorList.size();
        int i = 0;
        String baseColorSubFamilyCode = null;

        HashMap<String, List<String>> hashMap = new HashMap<String, List<String>>();
        List<String> subFamilyCodeList = null;
        for (ColorType color : sortColorList)

        {
            i++;
            if (baseColorSubFamilyCode == null) {

                baseColorSubFamilyCode = color.getNRFColorSubFamilyCode();
                subFamilyCodeList = new ArrayList<String>();
                subFamilyCodeList.add(baseColorSubFamilyCode);
                if (i == index) {
                    hashMap.put(baseColorSubFamilyCode, subFamilyCodeList);
                }

            } else if (baseColorSubFamilyCode != null
                    && baseColorSubFamilyCode.equals(color
                            .getNRFColorSubFamilyCode())) {

                subFamilyCodeList.add(color.getNRFColorSubFamilyCode());
                if (i == index) {
                    hashMap.put(baseColorSubFamilyCode, subFamilyCodeList);
                }

            } else {

                hashMap.put(baseColorSubFamilyCode, subFamilyCodeList);
                baseColorSubFamilyCode = color.getNRFColorSubFamilyCode();
                subFamilyCodeList = new ArrayList<String>();
                subFamilyCodeList.add(baseColorSubFamilyCode);
                if (i == index) {
                    hashMap.put(baseColorSubFamilyCode, subFamilyCodeList);
                }

            }
        }


    }

}
4

0 に答える 0