总结 ArrayList<Double> via Java Stream
Sum up ArrayList<Double> via Java Stream
我正在尝试弄清楚如何总结 'ArrayList' 的所有元素。
我已经试过了:
double totalevent = myList.stream().mapToDouble(f -> f).sum();
而 myList
是 ArrayList<Double>
。
有没有没有无用的 mapToDouble
功能的方法?
mapToDouble
调用并非无用:它执行隐式拆箱。其实和
是一样的
double totalevent = myList.stream().mapToDouble(f -> f.doubleValue()).sum();
或者
double totalevent = myList.stream().mapToDouble(Double::doubleValue).sum();
或者您可以使用 summingDouble
收集器,但区别不大:
double totalevent = myList.stream().collect(summingDouble(f -> f));
在我的 StreamEx
库中,您可以直接从 Collection<Double>
:
构造一个 DoubleStream
double totalevent = DoubleStreamEx.of(myList).sum();
但是在内部 also uses mapToDouble
.
我正在尝试弄清楚如何总结 'ArrayList' 的所有元素。
我已经试过了:
double totalevent = myList.stream().mapToDouble(f -> f).sum();
而 myList
是 ArrayList<Double>
。
有没有没有无用的 mapToDouble
功能的方法?
mapToDouble
调用并非无用:它执行隐式拆箱。其实和
double totalevent = myList.stream().mapToDouble(f -> f.doubleValue()).sum();
或者
double totalevent = myList.stream().mapToDouble(Double::doubleValue).sum();
或者您可以使用 summingDouble
收集器,但区别不大:
double totalevent = myList.stream().collect(summingDouble(f -> f));
在我的 StreamEx
库中,您可以直接从 Collection<Double>
:
DoubleStream
double totalevent = DoubleStreamEx.of(myList).sum();
但是在内部 also uses mapToDouble
.