Don';我们是否有java内置的方法来计算数字数组的平均值?

Don';我们是否有java内置的方法来计算数字数组的平均值?,java,arrays,Java,Arrays,我正在检查并想知道JavaAPI中应该有一种方法来查找小数数组的平均值。但是找不到它。如果我们有输入,你能提供吗?如果没有,我想知道为什么,因为这是一个非常简单的方法 答复: 对于阵列: OptionalDouble averageOptional = Arrays.stream(new double[]{1, 2, 3}).average(); 有关列表: OptionalDouble averageOptional= list.stream().mapToDouble(val->va

我正在检查并想知道JavaAPI中应该有一种方法来查找小数数组的平均值。但是找不到它。如果我们有输入,你能提供吗?如果没有,我想知道为什么,因为这是一个非常简单的方法

答复:

对于阵列:

OptionalDouble averageOptional = Arrays.stream(new double[]{1, 2, 3}).average();
有关列表:

OptionalDouble averageOptional= list.stream().mapToDouble(val->val).average();
要查找双值:

averageOptional.orElse(0D);

averageOptional.getAsDouble();

在Java 8中,您可以为此使用
stream

OptionalDouble average = Arrays.stream(new double[]{1, 2, 3}).average();
还有另一个有趣的方法:

Arrays.stream(new double[]{1, 2, 3}).summaryStatistics();

它返回类型为
DoubleSummaryStatistics
的变量。它包含诸如
getMax()
getAverage()
getSum()
等数据。

在Java 8中,您可以使用
流来实现此目的:

OptionalDouble average = Arrays.stream(new double[]{1, 2, 3}).average();
还有另一个有趣的方法:

Arrays.stream(new double[]{1, 2, 3}).summaryStatistics();
它返回类型为
DoubleSummaryStatistics
的变量。它的数据类似于
getMax()
getAverage()
getSum()
,等等。

使用
Arrays.stream(新的int[]{1,2,3}).average().get()

使用数组.stream(新的int[]{1,2,3}).average().get()

Java 8中有一个

double average = Arrays.stream(new double[]{1,2,5,8}).average().getAsDouble();
Java8中有一个

double average = Arrays.stream(new double[]{1,2,5,8}).average().getAsDouble();

谢谢我们是否也有特别针对ArrayList的方法?当然,ArrayList有
.stream()
方法,这就是您需要的;)我得到了所需的答案,谢谢你的提示。OptionalDouble average=list.stream().mapToDouble(val->val.average();谢谢我们是否也有特别针对ArrayList的方法?当然,ArrayList有
.stream()
方法,这就是您需要的;)我得到了所需的答案,谢谢你的提示。OptionalDouble average=list.stream().mapToDouble(val->val.average();