Joe*_*oel 18 double java-8 java-stream
我试图弄清楚如何总结'ArrayList'的所有元素.
我已经尝试过了:
double totalevent = myList.stream().mapToDouble(f -> f).sum();
Run Code Online (Sandbox Code Playgroud)
虽然myList
是一个ArrayList<Double>
.
没有无用的mapToDouble
功能有没有办法做到这一点?
Tag*_*eev 33
该mapToDouble
调用没有用处:它执行隐式拆箱.实际上它是一样的
double totalevent = myList.stream().mapToDouble(f -> f.doubleValue()).sum();
Run Code Online (Sandbox Code Playgroud)
要么
double totalevent = myList.stream().mapToDouble(Double::doubleValue).sum();
Run Code Online (Sandbox Code Playgroud)
或者你可以使用summingDouble
收藏家,但这不是一个很大的区别:
double totalevent = myList.stream().collect(summingDouble(f -> f));
Run Code Online (Sandbox Code Playgroud)
在我的StreamEx
库中,您可以DoubleStream
直接构建一个Collection<Double>
:
double totalevent = DoubleStreamEx.of(myList).sum();
Run Code Online (Sandbox Code Playgroud)
但在内部它也使用 mapToDouble
.
归档时间: |
|
查看次数: |
23657 次 |
最近记录: |