Manage/Fill Hash-Map 中的数据格式正确

Manage/Fill data in Hash-Map in proper format

实际上我从数据库中检索数据肯定是 table 的形式。我想以特定格式管理散列映射中的数据 (table)。首先,我向您展示以下代码并在控制台中输出:

代码:

 ResultSetMetaData rsmd = resultSet.getMetaData();
    int columnsNumber = rsmd.getColumnCount();
    while (resultSet.next()) {
        for (int i = 1; i <= columnsNumber; i++) {
           if (i > 1) System.out.print(",  ");
           String columnValue = resultSet.getString(i);
           System.out.print(columnValue );
           }
         System.out.println("");
    }

输出:

 ID      SkillGroup

 47010,  EN.SG
 47013,  shabber_hassan
 47014,  CAM.SG
 47014,  CIM.SG
 47014,  EN.SG
 47014,  JZskillGroup
 47014,  camp_agent.SG
 999,    EN.SG
 3333,   absaara_test2.SG
 3333,   absaara_test3.SG

我想制作一个Hasp-Map,应该用以下方式填充:

Key:应该是ID.
值:与一个ID相关的所有技能组(可能在Arraylist中)

我该怎么做:

ID   --->  [All skill group related to associated ID]
47010 ---> [EN.SG]
47013 ---> [shabber_hassan,]
47014 ---> [CAM.SG,CIM.SG,EN.SG,JZskillGroup,camp_agent.SG]
999   ---> [EN.SG]
333   ---> [ab_test2.SG,ab_test3.SG]

不胜感激!!

使用 HashMap<Integer,List<String>>.

假设您的 table 有两列(ID 和 Skill Group),根据您的输出:

Map<Integer,List<String>> map = new HashMap<>();
while (resultSet.next()) {
    String key = resultSet.getInt(1);
    String value = resultSet.getString(2);
    List<String> values = map.get(key);
    if (values == null) {
        values = new ArrayList<String>();
        map.put(key,values);
    }
    values.add(value);
}