在Java中对数据进行分组

JJu*_*ior 2 java jdbc

有什么办法可以在Java中将相似数据分组?

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

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

任何的想法?谢谢

Bal*_*usC 5

使用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 /* ... */));
}
Run Code Online (Sandbox Code Playgroud)

您也可以使其成为另一个(父)Bean的属性。

也可以看看: