Sobes.tech
Junior — Middle
102

Quand exactement les opérations sont-elles effectuées dans la chaîne de méthodes Stream en Java?

Entreprises à qui on a demandé
ИннотехИннотех

Réponse de l'IA

sobes.tech IA

В Java операции в цепочке методов Stream делятся на промежуточные (intermediate) и терминальные (terminal). Промежуточные операции — это ленивые преобразования, которые не выполняются сразу, а лишь формируют описание конвейера обработки данных.

Выполнение операций происходит только при вызове терминальной операции, которая инициирует обработку данных и возвращает результат или побочный эффект.

Например:

List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream()
    .filter(s -> s.startsWith("a"))  // промежуточная операция
    .map(String::toUpperCase);        // промежуточная операция

List<String> result = stream.collect(Collectors.toList()); // терминальная операция

Здесь фильтрация и преобразование не выполняются до вызова collect(). Терминальная операция запускает всю цепочку.