当前位置: 首页 > 知识库问答 >
问题:

将arraylist放在hashmap中,key作为列之一

华鹭洋
2023-03-14

我有一个结果集,它有多行。我想做一个hashmap。但是,当存储arrayList并将key作为列之一时,对于每个key,所有行都存储在arrayList中。这意味着对于每个键,存储的是所有行,而不是该键的确切行。

>

   try {
       ps = DatabaseManager.prepareStatement(query);
       ps.setInt(1, number);
       rs = ps.executeQuery();
       while(rs.next()){

         pojo = new Pojo();
         pojo.setId(rs.getInt("ID"));
         pojo.setDate(rs.getDate("DATE"));
         pojo.setTotal(rs.getDouble("TOTAL"));

         list.add(pojo); map.put(rs.getInt("ID"), list);
       }
       rs.close();

所以对于所有的键,列表的大小是15。而它应该像ID行1A 3 2A 4 3C 2 4W 6

那么代码应该如何得到想要的结果呢?

共有1个答案

亢保赫
2023-03-14

你可以试试这样的东西,

while(rs.next()){
    // Check if map contains list
    if (map.contains(rs.getInt("ID"))
        list = map.get(rs.getInt("ID"));
    else
        list = new ArrayList<Pojo>();

    pojo = new Pojo();
    pojo.setId(rs.getInt("ID"));
    pojo.setDate(rs.getDate("DATE"));
    pojo.setTotal(rs.getDouble("TOTAL"));

    list.add(pojo); 
    map.put(rs.getInt("ID"), list);
}

希望它能起作用。

 类似资料:
  • 问题内容: 我有arrayList 我想像这样转换为ArrayList到HashMap 请帮助我如何转换为HashMap。 问题答案: 一般的方法是遍历,然后将值插入。示例如下:

  • 我正在尝试使用put方法将arraylist存储在hashmap中。我在下一步中清除了列表,以便在下一次迭代中添加下一组值。一旦清除列表,地图中的值也会被清除。虽然我在清理清单之前已经把清单放在地图上了。 sysout打印{key=[]} 有人请让我清楚如何坚持hashmaphash地图。

  • //从map2到map1或newMap中的键的值 //如何将值重新放置到键?在新地图中

  • keys *user* keys * 有3个通配符 *, ? ,[] *: 通配任意多个字符 ?: 通配单个字符 []: 通配括号内的某1个字符 注:生产已经禁止。更安全的做法是采用scan,原理和操作如下: 针对Keys的改进,支持分页查询Key。在迭代过程中,Keys有增删时不会要锁定写操作,数据集完整度不做任何保证,同一条key可能会被返回多次. 对于其他危险的命令,新版本也进行了替代:

  • 我已将此JSON转换为Hashmap http://www.mocky.io/v2/5d0dc72d3400008c00ca4a62 我有嵌套的Hashmap,我想把它转换成ArrayList 我想从获取所有数据并添加到列表中。我还希望hashmap的密钥也将作为指南导入列表中。 这是银行舱 这是银行名单课程 我试过的 但我不明白为什么会有例外 如果可以的话,请给我推荐其他算法

  • 问题内容: 我建立了一个由Hashmap中定义的nameValue对组成的json对象 我遇到的问题是当我调用时: 它像这样添加nameValue对: 代替 有什么想法吗? 谢谢 问题答案: 遍历HashMap并放入jsonObject: