Предположим, у меня есть список вроде этого:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Можно ли использовать поток Java 8 для переноса каждого второго элемента из этого списка, чтобы получить следующее?
[1, 3, 5, 7, 9]
Или, может быть, даже каждый третий элемент?
[1, 4, 7, 10]
В принципе, я ищу функцию для каждого 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]