首页 > 解决方案 > 难道我们没有任何Java内置方法来查找数字数组的平均值吗?

问题描述

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

回答:

对于数组:

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

对于列表:

OptionalDouble averageOptional= list.stream().mapToDouble(val->val).average();

要查找双重值:

averageOptional.orElse(0D);

averageOptional.getAsDouble();

标签: javaarrays

解决方案


您可以stream在 Java 8 中使用:

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

还有一个有趣的方法:

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

它返回一个类型为 的变量DoubleSummaryStatistics。它有像getMax(), getAverage(), getSum(), 等这样的数据。


推荐阅读