Sobes.tech
Назад к вопросам
Junior — Middle
93

Можешь перечислить основные операции, которые выполняются в конце потоковой обработки данных?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

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

Основные терминальные операции:

  • collect() — собирает элементы потока в коллекцию или другой контейнер.
  • forEach() — выполняет действие для каждого элемента (обычно для побочных эффектов).
  • reduce() — сводит элементы к одному значению с помощью аккумулятора.
  • count() — возвращает количество элементов.
  • anyMatch(), allMatch(), noneMatch() — проверяют соответствие элементов условию.
  • findFirst(), findAny() — возвращают первый или любой элемент, если он есть.

Пример:

List<String> names = Arrays.asList("Anna", "Bob", "Charlie");
long count = names.stream()
                  .filter(name -> name.startsWith("A"))
                  .count();
System.out.println(count); // Выведет количество имен, начинающихся с "A"

Без терминальной операции поток не будет обработан.