这是我只需要添加前 3 个元素而不是添加完整列表的列表。我如何使用 java 8 实现这一点?
List<Integer> list = Arrays.asList(4,5,6,1,2,3);
int sum = list.stream().sorted().mapToInt(Integer::intvalue).sum();
使用 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());