我有一个DoubleStream是从一个非常耗时的函数计算出来的,我想同时计算它的元素的平均值和计数。
问题是我不想计算DoubleStream两次,因为上面提到的值计算很耗时。我想从一个 lambda 表达式中获取 Average 和 Count 的值。
我已经尝试了一切等等,collect但map没有成功。
final long count = products.stream()
.mapToDouble(this::timeConsumingCalculateRating)
.filter(rating -> rating > 0.0D)
.count();
final double averageRating = products.stream()
.mapToDouble(this::timeConsumingCalculateRating)
.filter(rating -> rating > 0.0D)
.average()
.orElse(0.0D);
非常感谢任何帮助。
jeck猫
幕布斯7119047
相关分类