Sobes.tech
Назад к вопросам
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