多次对流中的值求和

问题描述 投票:0回答:1

我正在寻找使用流解决问题的方法:

我有一个样本清单:

List.of(1,3,5,7)

我想在流中的每个下一个元素中添加给定元素。

1+3+5+7

3+5+7

5+7

最后将整个结果相加并返回。 在本例中,结果将为 43。

这是合理可能的还是使用 for 循环更好?

java java-stream
1个回答
0
投票

您可以利用 IntStream 类来迭代 List,类似于 for 循环

这是一个例子。

List<Integer> list = List.of(1,3,5,7);
int sum = IntStream.range(0, list.size() - 1)
                   .map(x -> list.stream().skip(x).mapToInt(y -> y).sum())
                   .sum();
© www.soinside.com 2019 - 2024. All rights reserved.