登录
首页 >  文章 >  java教程

JavasummingInt统计整数属性方法详解

时间:2026-02-11 16:09:43 316浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习文章的朋友们,也希望在阅读本文《Java中使用summarizingInt统计整数属性方法解析》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新文章相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

Collectors.summarizingInt用于统计整数属性,如员工年龄,返回IntSummaryStatistics对象,包含count、sum、min、max和average;通过getCount()、getSum()、getMin()、getMax()和getAverage()获取对应值。

在Java中如何使用Collectors.summarizingInt统计整数属性_统计归约操作解析

在Java中,Collectors.summarizingInt 是一个非常实用的归约操作工具,用于对集合中对象的某个整数属性进行统计分析。它能一次性返回该属性的计数、总和、最小值、最大值和平均值,适用于需要全面了解数据分布的场景。

summarizingInt 的基本用法

该方法接收一个 ToIntFunction 函数式接口作为参数,用于提取对象中的整数值。最终返回一个 IntSummaryStatistics 对象,包含多项统计结果。

例如,有一个员工类:

class Employee {
    private String name;
    private int age;

    // 构造函数、getter等省略
    public Employee(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public int getAge() { return age; }
}

使用 summarizingInt 统计员工年龄信息:

List<Employee> employees = Arrays.asList(
    new Employee("Alice", 30),
    new Employee("Bob", 25),
    new Employee("Charlie", 35)
);

IntSummaryStatistics stats = employees.stream()
    .collect(Collectors.summarizingInt(Employee::getAge));

System.out.println(stats);
// 输出:IntSummaryStatistics{count=3, sum=90, min=25, average=30.000000, max=35}

IntSummaryStatistics 提供的获取方法

通过返回的 IntSummaryStatistics 实例,可以分别获取各项统计值:

  • getCount():返回元素数量
  • getSum():返回所有值的总和
  • getMin():返回最小值
  • getMax():返回最大值
  • :返回平均值(double 类型)

可根据需要单独调用这些方法,比如只关心最大年龄:

int maxAge = stats.getMax(); // 35
double avgAge = stats.getAverage(); // 30.0

适用场景与注意事项

这个方法适合用于需要综合统计信息的业务逻辑,如报表生成、数据分析等。相比多次遍历计算总和、最大值等,summarizingInt 在一次流操作中完成所有统计,效率更高

需要注意:

  • 若流为空,min 和 max 可能无意义(min 返回 Integer.MAX_VALUE,max 返回 Integer.MIN_VALUE),使用前应判断 count 是否为 0
  • 仅适用于 int 类型属性,若为 long 或 double,应使用 summarizingLong 或 summarizingDouble
  • 适用于终端操作 collect,不能用于中间转换

基本上就这些。合理使用 summarizingInt 能让代码更简洁,统计逻辑更清晰。

本篇关于《JavasummingInt统计整数属性方法详解》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>