Sobes.tech
Junior — Middle
110

Quel résultat renvoie l'appel de méthodes non terminales dans les flux de l'API Stream?

Réponse de l'IA

sobes.tech IA

В Java Stream API методы, не являющиеся терминальными (например, map, filter, sorted), возвращают новый поток (Stream<T>), который представляет собой ленивую последовательность операций.

Это значит, что при вызове таких методов никакие вычисления не выполняются сразу — создаётся новый промежуточный поток, который хранит цепочку операций.

Пример:

Stream<String> stream = list.stream()
    .filter(s -> s.startsWith("A"))  // возвращает новый Stream
    .map(String::toUpperCase);        // возвращает новый Stream

Вычисления начнутся только при вызове терминального метода, например, collect(), forEach(), count().

Таким образом, промежуточные методы возвращают поток для построения цепочки операций, а терминальные — запускают обработку и возвращают результат.