Junior — Middle
87
Можете ли објаснити шта је терминална операција у API Stream и како она функционише?
Компаније где су питане
Одговор од АИ
sobes.tech АИ
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() запускает обработку потока и возвращает количество элементов, удовлетворяющих условию.