junior
Для чего в стримах предназначен метод limit?
limit(long maxSize) — промежуточная операция, которая ограничивает стрим заданным количеством первых элементов. Она особенно важна при работе с бесконечными стримами (Stream.iterate, Stream.generate), где без limit() конечная операция никогда не завершится.
Пример
Stream.iterate(1, n -> n + 1)
.limit(5)
.forEach(System.out::print); // 12345
limit() является short-circuiting операцией: как только набрано нужное количество элементов, дальнейшая обработка прекращается. Это делает её эффективной даже на больших источниках данных. Парная операция skip(n) пропускает первые n элементов, и вместе они позволяют организовать постраничную выборку.
На собеседовании: упомяните, что
limit— short-circuiting операция, и приведите пример с бесконечным стримом.