Назад к вопросам
Junior
82
questionbank
Для чего предназначен метод limit() в стримах?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Метод limit(long maxSize) в Java Stream API предназначен для создания нового стрима, содержащего элементы исходного стрима в количестве, не превышающем maxSize. Это промежуточная (intermediate) операция, которая отсекает оставшиеся элементы после того, как было обработано указанное количество.
Основные эффекты:
- Ограничение размера: Применяет ограничение на максимальное количество элементов в результирующем стриме.
- Ленивость: Вычисление элементов происходит только тогда, когда они реально запрашиваются терминальной операцией, до достижения заданного лимита.
- Возможность усечения: Если исходный стрим содержит больше элементов, чем указано в
maxSize, стрим будет усечен доmaxSizeэлементов. Если меньше, то будут использованы все имеющиеся элементы.
Пример использования:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eve");
List<String> firstTwoNames = names.stream()
.limit(2) // Ограничиваем стрим первыми двумя элементами
.collect(Collectors.toList()); // Собираем в список
// firstTwoNames будет содержать ["Alice", "Bob"]