groupingBy()是Stream API中最强大的收集器Collector之一,提供与SQL的GROUP BY子句类似的功能。
使用stream流通过传递lambda表达式,可以让代码看上去很简洁。
此外,还可以用Java Stream和Collectors轻松完成字段的聚合。比如:相加,取平均数,或最大/最小值。更好的帮助我们分析数据。
目录
数据准备
员工类
// 员工类
public class Employee{
//部门
private String deptId;
//姓名
private String name;
//年龄
private int age;
//性别
private String sex;
//薪资
private int salary;
// 构造方法
public Employee(String deptId, String name, int age, String sex, int salary) {
this.deptId = deptId;
this.name = name;
this.age = age;
this.sex = sex;
this.salary = salary;
}
// 省略了get和set,请自行添加
}
// 实例化对象
Employee emp1 = new Employee("1201","张三",26,"男",7000);
Employee emp2 = new Employ