Я хочу вставить идентификатор со значением, представляющим собой список, содержащий записи, соответствующие этому идентификатору - PullRequest
0 голосов
/ 30 апреля 2020
        ArrayList<Dashboard> dashRec=new ArrayList<Dashboard>();
        HashMap<Object, List<Dashboard>> map = new HashMap<>();
        int x=0;
        Dashboard dash=new Dashboard();
        while(rs.next()) {
            if (x == 0){
                x=rs.getInt(1);
            }
            int  y = rs.getInt(1);
            if(x==y) {
            dashRec=new ArrayList<Dashboard>();
            dash=new Dashboard();
            dash.setREQUEST_ID(rs.getInt(1));
            dash.setLOGIN_USER(rs.getString(2));
            dash.setPRICE(rs.getInt(3));
            dashRec.add(dash);

            }
            if(y!=x){
                dash.getREQUEST_ID();
                dash.getLOGIN_USER();
                map.put(dash,dashRec);
                x=y;
                //1st arraylist is inserted in map.
                ///
            }

Я хочу вставить идентификатор со значением, представляющим собой список, содержащий записи, соответствующие этому идентификатору. Я сделал это для первого набора строк. Как сделать это для n строк? Предположим, что для следующих двух строк я хочу добавить еще один список в карту. Аналогично для n наборов строк я хочу logi c.

SQL db

1 Ответ

1 голос
/ 30 апреля 2020

Вы можете использовать карту, как эта

        Map<Integer, List<Dashboard>> map = new HashMap<>();
        while (rs.next()) {
            Integer id = rs.getInt(1);
            if (!map.containsKey(id)) {
                map.put(id, new ArrayList<>());
            }
            Dashboard dash = new Dashboard();
            dash.setREQUEST_ID(id);
            dash.setLOGIN_USER(rs.getString(2));
            dash.setPRICE(rs.getInt(3));
            map.get(id).add(dash);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...