当前位置: 首页 > 知识库问答 >
问题:

如何在Java中用forEach和lambda表达式求和?[副本]

石博艺
2023-03-14
private int Sum(ArrayList<Integer> inputs) {
    int sum = 0;

    inputs.stream().forEach(x -> sum += x);

    return sum;
}

共有1个答案

桑思远
2023-03-14

这应该起作用:

private int Sum(ArrayList<Integer> inputs) {

  return inputs.stream().mapToInt(Integer::intValue).sum();

}

编辑:

使用for-each的问题在于它是一个终端操作,这意味着它不会产生另一个中间流供我们处理。更好的方法是使用MapToInt,它生成一个IntStream,我们可以在这个IntStream上轻松地找到和。

 类似资料:
  • 我通常打印我的数组列表,例如 但我无法将此应用于普通数组()。 如何将此表达式应用于普通数组?

  • 基本上,我有一个列表,它的元素将被一个一个地处理,直到满足某个条件。如果任何元素满足该条件,则应返回,否则返回。该方法如下所示: 有没有一种方法可以在满足条件后立即跳出这个forEach循环,而不是循环所有元素?

  • 我有一个数组列表 如何使用forEach和lambda表达式迭代此列表。

  • 目前我学习Springboot。 在这个代码中 我知道这是lambda表达式,但我没有得到原始代码。这不是我的代码。你能让我知道原始代码吗?

  • 我正在尝试将Java 1.8与lambda表达式一起使用,其中包含Idea UI Designer,我在maven中有: 和依赖关系 当我尝试使用lambdas时,它返回编译错误: 您对如何将lambdas与Idea UI Designer一起使用有何想法?

  • 本文向大家介绍Java中如何调试Lambda表达式,包括了Java中如何调试Lambda表达式的使用技巧和注意事项,需要的朋友参考一下 Lambda表达式由两部分组成,一个是参数,另一个是代码或表达式。 这两个部分由箭头运算符“->”分隔。 我们可以使用NetBeans,IntelliJ和Eclipse等不同的IDE来调试Java中的lambda表达式。 始终可以创建多行lambda表达式,并使用