如何使用 Java 8 流来计算流元素的平均值? 因为我不能两次使用一个流,所以我必须在一次迭代中完成它。 该流包含保存浮点值的自定义 bean。流中的元素数量可能会有所不同。 因此,我想将流中所有元素的浮点值相加,然后除以流中元素的数量。
更新: 最后,我需要流中所有元素的总和以及流中所有元素的平均值。
最佳答案
将您的 Stream
转换为 DoubleStream
并调用 average()
计算平均值:
OptionalDouble average = yourStream.mapToDouble(YourStreamElementClass::getFloatValue).average();
如果您想要其他统计信息(例如最大值、最小值、元素数量等...),您可以调用 summaryStatistics()
而不是 average()
.
关于Java 8 流立即求和并计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57757572/