Назад к вопросам
СБЕР
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() запускает обработку потока и возвращает количество элементов, удовлетворяющих условию.