Назад к вопросам
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"]