如何从Java的收集器创建IntSummaryStatistics?
让我们首先创建一个列表:
List<Employee> emp = Arrays.asList(
new Employee("John", "Marketing", 5),
new Employee("David", "Operations", 10));我们有员工类,其中包括员工的姓名,部门和等级。
现在,为排名创建汇总,例如计数,平均值,总和等:
IntSummaryStatistics summary = emp .stream() .collect(Collectors.summarizingInt(p -> p.rank));
以下是从Java中的收集器创建IntSummaryStatistics的示例:
示例
import java.util.Arrays;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.stream.Collectors;
public class Demo {
public static void main(String[] args) throws Exception {
List<Employee> emp = Arrays.asList(new Employee("John", "Marketing", 5), new Employee("David", "Operations", 10));
IntSummaryStatistics summary = emp .stream() .collect(Collectors.summarizingInt(p → p.rank));
System.out.println("Summary Statistics = "+summary);
}
}
class Employee {
String name;
String department;
int rank;
Employee(String name, String department, int rank) {
this.name = name;
this.department = department;
this.rank = rank;
}
}输出结果
Summary Statistics = IntSummaryStatistics{count=2, sum=15, min=5, average=7.500000, max=10}