groupingBy()
时间: 2023-11-09 14:03:15 浏览: 35
groupingBy() 是 Java 8 中的一个用于分组的方法,它可以根据指定的分类函数对元素进行分组,并返回一个 Map 对象,其中键是分类函数的返回值,值是属于该分类的元素列表。
例如,假设有一个 Student 类,其中包含 name 和 age 两个属性,我们可以使用 groupingBy() 方法将学生按照年龄分组:
```
List<Student> students = Arrays.asList(
new Student("Tom", 18),
new Student("Jerry", 19),
new Student("Alice", 18),
new Student("Bob", 20)
);
Map<Integer, List<Student>> studentsByAge = students.stream()
.collect(Collectors.groupingBy(Student::getAge));
System.out.println(studentsByAge);
```
输出结果为:
```
{18=[Student{name='Tom', age=18}, Student{name='Alice', age=18}], 19=[Student{name='Jerry', age=19}], 20=[Student{name='Bob', age=20}]}
```
可以看到,按照年龄分组后,18 岁的学生有 Tom 和 Alice,19 岁的学生有 Jerry,20 岁的学生有 Bob。