流中是否有一个sum()等效方法可以执行流中给定值的乘法?

我有一个这样的整数列表:

List<Integer> listOfIntegers = new ArrayList<>();
listOfIntegers.addAll(Arrays.asList(1,4,2,7,5));

我能够获取所有整数的总和,但是无法找到可以将值相乘并给出输出的API。
listOfIntegers.stream().mapToInt(a -> a).sum();

如果我尝试使用forEach进行操作,那么由于只能在其中使用最终变量,因此无法存储结果。

除此之外,还有其他选择吗?

最佳答案

尝试减少流,它应该有所帮助。

喜欢:

listOfIntegers.stream().reduce(1, (a, b) -> a * b)

link提供有关如何使用reduce的更多信息。

10-08 18:56