Назад к вопросам
АЙ-ТЕКО
Junior — Middle
66
Можешь привести примеры терминальных методов в Stream API в Java?
Компании, где спрашивали
айтеко
Ответ от нейросети
sobes.tech AI
Терминальные методы в Stream API Java — это операции, которые завершают обработку потока и возвращают результат или побочный эффект. Они не возвращают новый Stream, а, например, вычисляют значение или собирают элементы.
Примеры терминальных методов:
forEach(Consumer<? super T> action)— выполняет действие для каждого элемента.collect(Collector<? super T,A,R> collector)— собирает элементы в коллекцию или другой контейнер.reduce(BinaryOperator<T> accumulator)— свёртка элементов в одно значение.count()— возвращает количество элементов.anyMatch(Predicate<? super T> predicate)— проверяет, удовлетворяет ли хотя бы один элемент условию.allMatch(Predicate<? super T> predicate)— проверяет, удовлетворяют ли все элементы условию.findFirst()— возвращает первый элемент в потоке (если есть).
Пример:
List<String> list = Arrays.asList("a", "bb", "ccc");
long count = list.stream()
.filter(s -> s.length() > 1)
.count(); // терминальный метод
System.out.println(count); // 2