假设我有一个这样的列表:
[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)