java stream根据字段进行分组
时间: 2023-08-05 10:12:45 浏览: 89
Java8 stream 中利用 groupingBy 进行多字段分组求和案例
5星 · 资源好评率100%
可以使用Java Stream API的`Collectors.groupingBy()`方法对流中的元素进行分组。
假设有一个包含Student对象的流,每个Student对象都有一个grade字段表示年级,可以按照年级对Student对象进行分组:
```java
List<Student> students = ... // 假设有一个包含Student对象的列表
Map<String, List<Student>> groupedStudents =
students.stream()
.collect(Collectors.groupingBy(Student::getGrade));
```
上述代码中,`Collectors.groupingBy()`方法接收一个分类器函数,用于确定如何对元素进行分组。在这里,我们使用`Student::getGrade`作为分类器函数,以便按照年级对Student对象进行分组。`groupedStudents`变量将包含一个Map,其中键是年级,值是该年级下的Student对象列表。
阅读全文