Пропуск элементов потока в Java
Метод skip пропускает первые n элементов
и передает дальше всё, что идет после них. В паре
с limit получается простая «страница» данных
без ручного перебора индексов.
Из списка логов можно убрать служебные первые записи и обработать остальные:
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> logs = List.of("boot", "init", "read", "save", "done");
List<String> work = logs.stream()
.skip(2)
.map(String::toUpperCase)
.toList();
System.out.println(work);
}
}
Комбинация пропуска и ограничения выделяет окно в середине списка:
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> nums = List.of(10, 20, 30, 40, 50, 60);
List<Integer> slice = nums.stream()
.skip(2)
.limit(2)
.toList();
System.out.println(slice);
}
}
Дан код:
var nums = List.of(1, 2, 3, 4, 5, 6, 7);
Пропустите первые три числа, возведите остальные в квадрат и выведите список.
Дан код:
var strings = List.of("a", "b", "c", "d", "e");
Пропустите одну строку, возьмите следующие две и выведите их через запятую одной строкой.