如何将list分组并按规定字段排序
时间: 2023-09-07 12:11:41 浏览: 156
List对象去重和按照某个字段排序的实现方法
首先,你需要确定分组的字段和排序的字段。接下来,你可以使用 Java 8 的 Stream API 来轻松实现分组和排序。
假设你有一个 `List<User>`,其中 `User` 类有 `name` 和 `age` 属性。你想要按照 `name` 字段分组,并按照 `age` 字段进行排序。代码示例如下:
```java
List<User> userList = new ArrayList<>();
// 添加用户数据
Map<String, List<User>> groupedUsers = userList.stream()
.collect(Collectors.groupingBy(User::getName));
List<List<User>> sortedGroups = new ArrayList<>(groupedUsers.values());
sortedGroups.forEach(group -> group.sort(Comparator.comparing(User::getAge)));
```
上述代码将会先按照 `name` 字段分组,并将结果保存在一个 `Map` 中。接着,我们将分组后的结果转换成一个 `List<List<User>>`,并对每个小组按照 `age` 字段进行排序。
最终,你将得到一个按照 `name` 字段分组并按照 `age` 字段排序的结果列表。
阅读全文