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

Можете объяснить, что такое терминальный метод в Stream API и как он используется?

Компании, где спрашивали
IT OneIT One

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

sobes.tech AI

Терминальный метод в Stream API — это метод, который завершает цепочку операций над потоком данных и возвращает результат. После вызова терминального метода поток считается потреблённым и больше не может использоваться.

Примеры терминальных методов:

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

Использование терминального метода запускает обработку данных, которая до этого была ленивой. Например:

List<String> names = Arrays.asList("Anna", "Bob", "Charlie");
long count = names.stream()
    .filter(name -> name.length() > 3) // промежуточная операция
    .count(); // терминальный метод
System.out.println(count); // Выведет 2

Здесь count() — терминальный метод, который запускает вычисления и возвращает число элементов, удовлетворяющих фильтру.