java - 如何使用流过滤器和求和

标签 java java-stream

这种方式是使用java流进行过滤和求和的最有效方式吗?

public static void main(String[] args){
    int[] array = {23,43,56,97,32};
    int sum1 = Arrays.stream(array).boxed().filter(e -> 35 < e).reduce(0,(a,b)->a+b);
}

更好的替代方案是什么(如果有),为什么?

最佳答案

没有必要或理由对您的流进行装箱 - 一直使用 IntStream:

int sum1 = Arrays.stream(array).filter(e -> 35 < e).sum();

关于java - 如何使用流过滤器和求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47222212/

相关文章:

java - groovy 属性类的 JAXB 注释

java-8 - 单次迭代中的总和和最大值

Java8 如何使用流和 lambda 将 3 级嵌套列表转换为嵌套的 HashMap

java - 在流中使用过滤器

java8流求和倍数

java - 如何使用流按除以给定除数的余数对元素进行分组?

java - JWindow 不出现

java - 为什么我的日历总是返回当前时间?

java - 通用返回类型 : How to catch a return type from many possible return types?

java - 我正在尝试使用具有多行的扫描仪,并尝试使用另一个字符串 java 更改输入