java - 在java中分组数据

标签 java jdbc

有没有什么办法可以在 java 中对相似的数据进行分组?

我想将所有具有相同 id 的数据分组并打印出来。

我正在使用 jdbc 查询数据并正在搜索我可以为此使用的库。

有什么想法吗? 谢谢

最佳答案

使用 Map<GroupID, List<Data>> .

Map<Long, List<Data>> groups = new HashMap<Long, List<Data>>();
while (resultSet.next()) {
    Long groupId = resultSet.getLong("groupId");
    String col1 = resultSet.getString("col1");
    String col2 = resultSet.getString("col2");
    // ...
    List<Data> group = groups.get(groupId);
    if (group == null) {
        group = new ArrayList<Data>();
        groups.put(groupId, group);
    }
    group.add(new Data(groupId, col1, col2 /* ... */));
}

您也可以将其设为另一个(父)bean 的属性。

另见:

关于java - 在java中分组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3494608/

相关文章:

尽管 hashcode 不同,但 Java 对象是相等的

java - hibernate 。为什么从数据库查询的实体以随机顺序存储在集合中?

java - 更快地从数据库读取和写入大型 CLOB 文件

java - MariaDb10 (MySQL 5.6) - 从 MySQL 5.5 更新后出现随机高 I/O 和慢查询

java - jdbc:从sqlite数据库获取日期

java - JAVA代码中的android getInputType

javascript - 在 redux 中使用 AsyncStorage 保存 boolean 数据

java - 在 Google Maps API Android 上绘图

java - Jaybird CallableStatement 在获取输出参数之前不执行

java - executeQuery() 使程序挂起