java - 难道我们没有任何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();
解决方案
您可以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()
, 等这样的数据。
推荐阅读
- php - 使用 PHP 选择选项
- mongodb - 通过 MongoDB Ops Manager 将快照还原到使用 MongoDB Enterprise Kubernetes Operator 创建的新部署时遇到错误
- c++ - 对类和多态性的怀疑
- ios - 使用快速默认交换功能交换自定义类对象
- php - 如何将自定义字段添加到 WooCommerce 设置中的“产品库存”选项卡?
- python - 是否支持序数后缀本地化?
- google-app-engine - gcloud app部署错误.cache下的文件过多
- jenkins - 在 groovy 管道中找不到不可序列化的组件
- angular - 如何从 Mat 表单字段计算数学方程,该字段使用 Angular 材料像等号的 excel 一样公式化
- java - 将文本插入 word 而不转换为段落