简介
Collectors.groupingBy
返回一个实现 group by 操作的Collector对象,用于Collection Stream流分组操作。
场景
预设情景:根据年龄为List list分组,进阶分组Person对象不重复,分组Person对象不重复+保持插入顺序。
实际应用:比如分页场景,对于一些需要先对List进行分组整合并且无法在数据库实现分页的需求,可以通过指定返回Map类型,返回有序Map+程序分页处理。
代码实践
import java.util.Objects;
public class Person {
private String name;
private Integer age;
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name=