Назад к вопросам
Junior — Middle
64
Объясните, что такое нетерминальный метод в интерфейсе Stream и как он используется.
Компании, где спрашивали
DCloud
Ответ от нейросети
sobes.tech AI
Нетерминальный метод в интерфейсе Stream — это метод, который возвращает новый Stream и позволяет строить цепочку операций, не завершая поток.
Такие методы не запускают обработку данных, а лишь описывают последовательность преобразований. Обработка (терминальная операция) происходит только при вызове терминального метода.
Примеры нетерминальных методов: filter(), map(), sorted(), distinct().
Пример использования:
List<String> names = List.of("Anna", "Bob", "Charlie", "David");
List<String> filtered = names.stream()
.filter(name -> name.startsWith("A")) // нетерминальный метод
.map(String::toUpperCase) // нетерминальный метод
.collect(Collectors.toList()); // терминальный метод
System.out.println(filtered); // [ANNA]
Здесь filter и map — нетерминальные методы, они возвращают новый Stream, позволяя строить цепочку, а collect — терминальный метод, который запускает обработку и собирает результат.