java - 如何在结果集中表示列表

标签 java hashmap resultset

我得到的结果集值为

 Winter    1001    112 ,
 Summer    1001    112 ,
 Autumn    1001    110 ,
 Spring    1001    111,
 Winter    1002    112 ,
 Summer    1002    116 ,
 Autumn    1002    110 ,
 Spring    1002    115,

我需要将数据呈现为

data : [112,112,110,111][112,116,110,115]

代码:

linkedHashm = new LinkedHashMap<String, String>();
while (rs.next()) {
    linkedHashm.put(rs.getString(2), rs.getString(3));
    caltList.add("\"" + rs.getString(2) + "\"");
    dataList.add(rs.getString(3));
}

但由于 key 不唯一, HashMap 不起作用..请帮助

最佳答案

您可以使用Multimap存储每个键的值列表:

ListMultimap<String, String> multimap = ArrayListMultimap.create();
while (rs.next()) {
    multimap.put(rs.getString(2), rs.getString(3));
}

然后调用来显示它

String s = "";
for (Object v : multimap.asMap().values()) {
    s += v;        
}

将创建字符串

[112,112,110,111][112,116,110,115]

关于java - 如何在结果集中表示列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18725795/

相关文章:

java - Android WiFi Direct - 客户端/服务器 - ECONNREFUSED(连接被拒绝)更新

java - Java8 thenCompose 和 thenComposeAsync 之间的区别

ruby - 使用 JSON 将哈希数组写入文件?

java - ResultSet 填充 JTable 列名称但不填充数据

java - 从多个线程读取相同的 ResultSet

java - 如何将行从选择查询动态插入到 java 中的另一个表?

java - 无法在JAVA中生成RSAPublicKey

java - 当变量不是 "public"或 "private"时会发生什么?

java - 通过阈值列表对值列表进行分类

hashmap - 用计数存储二元组的有效方法