Collectors.groupingBy用法
时间: 2024-07-30 14:01:03 浏览: 50
java8 集合 多字段 分组 统计个数代码
5星 · 资源好评率100%
`Collectors.groupingBy()`是Java Stream API中的一个收集器,用于将集合中的元素按照某个键值进行分组。这个方法通常配合`Map`函数式接口使用,它可以对每个元素应用一个函数来获取键,然后将元素放入对应的`Map`子集中,其中键是处理后的结果,值是一个由相同键的元素组成的列表。
例如,如果你有一个`Person`对象列表,你想按年龄分组,你可以这样做:
```java
List<Person> people = ...;
Map<Integer, List<Person>> ageGroups = people.stream()
.collect(Collectors.groupingBy(Person::getAge));
```
在这个例子中,`Person::getAge`是一个Lambda表达式,它返回每个人的年龄作为键。`ageGroups`将是年龄作为键,对应年龄的人列表作为值的一个`Map`。
阅读全文