使用 Java8 仅对列表的前几个值求和

这是我只需要添加前 3 个元素而不是添加完整列表的列表。我如何使用 java 8 实现这一点?

  List<Integer> list = Arrays.asList(4,5,6,1,2,3);
    int sum = list.stream().sorted().mapToInt(Integer::intvalue).sum();
a374896 回答:使用 Java8 仅对列表的前几个值求和

使用 limit() 如下所示

int sum = list.stream().sorted().limit(3).mapToInt(Integer::intValue).sum();
,

您还可以探索“IntStream.range”作为替代或此类操作。唯一的缺点是您提供了一个已排序的数组。

List<Integer> list = Arrays.asList(4,5,6,1,2,3).stream().sorted().collect(Collectors.toList());
System.out.println(IntStream.range(0,3).map(i -> list.get(i)).sum());
本文链接:https://www.f2er.com/44159.html

大家都在问