相关疑难解决方法(0)

从Java 8流中获取每个第n个元素

假设我有一个这样的列表:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)

是否可以使用Java 8流从此列表中获取每个第二个元素以获取以下内容?

[1, 3, 5, 7, 9]
Run Code Online (Sandbox Code Playgroud)

或者甚至每三个元素?

[1, 4, 7, 10]
Run Code Online (Sandbox Code Playgroud)

基本上,我正在寻找一个函数来获取流的每个第n个元素:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> list2 = list.stream().takenth(3).collect(Collectors.toList());
System.out.println(list2);
// => [1, 4, 7, 10]
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

42
推荐指数
3
解决办法
3万
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1