collectors.groupingby多条件
时间: 2023-06-05 15:47:59 浏览: 131
多条件查询
3星 · 编辑精心推荐
Java 8 的 Collectors.groupingBy 可以通过多个条件对数据进行分组。可以使用多个 Collectors.groupingBy 的方法,分别对数据按照不同的条件分组,最后合并分组的结果。
例如:
```
List<Person> people = ...;
Map<String, Map<Integer, List<Person>>> result = people.stream().collect(
Collectors.groupingBy(Person::getCity,
Collectors.groupingBy(Person::getAge))
);
```
在上面的代码中,我们将数据首先按照 city 分组,然后再按照 age 分组。最终得到了一个 city 与 age 两个维度的分组结果。
阅读全文