stream 多字段分组
时间: 2023-07-20 13:18:56 浏览: 77
Java8 stream 中利用 groupingBy 进行多字段分组求和案例
5星 · 资源好评率100%
对于多字段分组,可以使用Java 8的Stream API的groupingBy方法来实现。假设我们有一个Person类,包含了姓名、年龄、性别等字段,我们希望按照性别和年龄字段进行分组,可以这样写:
```
Map<String, Map<Integer, List<Person>>> groupedByGenderAndAge = persons.stream()
.collect(Collectors.groupingBy(Person::getGender,
Collectors.groupingBy(Person::getAge)));
```
这样,我们就可以得到一个以性别为第一级键,以年龄为第二级键的分组结果,其中每个分组都包含了对应的Person对象列表。
阅读全文