Sobes.tech
Назад к вопросам
Junior — Middle
60

Можете объяснить, что представляет собой terminal operation в Stream API и как она работает?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Terminal operation (терминальная операция) в Stream API — это операция, которая завершает обработку потока и возвращает результат или побочный эффект. После вызова терминальной операции поток считается потреблённым и больше не может использоваться.

Примеры терминальных операций:

  • forEach — выполняет действие для каждого элемента
  • collect — собирает элементы в коллекцию
  • reduce — свёртка элементов в одно значение
  • count — подсчёт количества элементов

Терминальные операции запускают выполнение всех промежуточных операций (lazy evaluation), которые до этого не выполнялись.

Пример:

List<String> list = Arrays.asList("a", "bb", "ccc");
long count = list.stream()
    .filter(s -> s.length() > 1) // промежуточная операция
    .count(); // терминальная операция

System.out.println(count); // Выведет 2

Здесь count() запускает обработку потока и возвращает количество элементов, удовлетворяющих условию.