.stream Collectors.groupingBy
时间: 2023-11-03 18:59:45 浏览: 107
Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合.md
引用中提到的`.stream().collect(Collectors.groupingBy(...))`是Java 8中提供的一种用于对集合进行分组操作的方法。该方法可以将集合中的元素按照指定的属性进行分组,然后将结果存储在一个`Map`对象中,其中键是分组的属性值,值是满足该属性值的元素列表。例如,使用`.stream().collect(Collectors.groupingBy(Student::getClassId))`可以将学生列表按照班级ID进行分组。
下面是代码示例:
```java
Map<String, List<Student>> collect = stuList.stream()
.collect(Collectors.groupingBy(Student::getClassId));
for(Map.Entry<String, List<Student>> stuMap : collect.entrySet()){
String classId = stuMap.getKey();
List<Student> studentList = stuMap.getValue();
System.out.println("classId:" + classId + ", studentList:" + studentList.toString());
}
```
阅读全文