Stream的分组和分区方法案例
代码示例
public class StreamTest05 {
public static void main(String[] args) {
List<Student> students = Arrays
.asList(new Student("张三",60,18),
new Student("李四",85,19),
new Student("王五",70,20),
new Student("赵丽颖",50,21),
new Student("杨幂",70,22),
new Student("张三",60,23));
//根据姓名分组
System.out.println(students.stream().collect(Collectors.groupingBy(Student::getName)));
//根据分数分组
System.out.println(students.stream().collect(Collectors.groupingBy(Student::getScore)));
//根据score分组,返回score和分组的个数
System.out.println(students.stream().collect(Collectors.groupingBy(Student::getScore, Collectors.counting())));
//根据score分区
System.out.println(students.stream().collect(Collectors.partitioningBy(student -> student.getScore() >= 60)));
}
}
本文通过具体案例,深入浅出地介绍了Java Stream API中分组(groupingBy)和分区(partitioningBy)方法的使用技巧。展示了如何根据学生姓名、分数进行分组,并统计各分组数量,以及如何根据分数进行数据分区。
2085

被折叠的 条评论
为什么被折叠?



