0

我有一个包含ColorType对象的数组,这些对象有salaryCode,所以我要做的是首先我想将数组作为arrayList,然后它应该基于salaryCode和具有相同salaryCode的对象应该添加到不同的arrayList中,并且该数组列表应该添加到Hashmap中。请帮我解决这个问题.. 提前谢谢

我有示例代码...

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