Collectors.averagingInt用于计算流中元素映射为整数后的平均值,返回Double类型结果;例如根据用户年龄求平均年龄,代码简洁且自动处理空流返回0.0。

在Java中,Collectors.averagingInt 是 java.util.stream.Collectors 类提供的一个归约操作方法,用于计算流中元素经过整数映射后的平均值。它返回一个 Collector,可以配合 Stream 使用,自动处理空值和类型转换,最终得到一个 double 类型的平均值结果。
该方法定义如下:
public static <T> Collector<T, ?, Double> averagingInt(ToIntFunction<? super T> mapper)
参数说明:
立即学习“Java免费学习笔记(深入)”;
Double 类型。假设有一个用户列表,我们想根据用户的年龄计算平均年龄:
import java.util.*;
import java.util.stream.Collectors;
class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public int getAge() {
return age;
}
}
public class Main {
public static void main(String[] args) {
List<User> users = Arrays.asList(
new User("Alice", 25),
new User("Bob", 30),
new User("Charlie", 35)
);
double averageAge = users.stream()
.collect(Collectors.averagingInt(User::getAge));
System.out.println("平均年龄: " + averageAge); // 输出: 平均年龄: 30.0
}
}
此方法适用于需要从对象流中提取整数值并求平均的场景。常见用法包括:
averagingInt 会返回 0.0,需注意是否需要额外判断空流情况。基本上就这些。使用 Collectors.averagingInt 能让代码更简洁、可读性更强,是 Java 8 Stream 处理数值平均值的推荐方式。
以上就是Java里如何使用Collectors.averagingInt计算平均值_平均值计算方法说明的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号