Junior — Middle
93
Kada se inicira izvršenje toka podataka (Stream)?
Одговор од АИ
sobes.tech АИ
В Java поток данных (Stream) является ленивым, то есть выполнение операций над ним инициируется только при вызове терминальной операции. Терминальные операции — это методы, которые завершают цепочку обработки и возвращают результат или побочный эффект, например:
forEachcollectreducecountanyMatch,allMatch,noneMatch
До вызова терминальной операции промежуточные операции (например, filter, map, sorted) не выполняются, а лишь настраивают конвейер обработки данных.
Пример:
Stream<String> stream = Stream.of("a", "b", "c")
.filter(s -> s.startsWith("a")); // промежуточная операция
// выполнение начнется здесь
stream.forEach(System.out::println);
Таким образом, инициирование выполнения потока происходит в момент вызова терминальной операции.