Sobes.tech
Back to questions
Junior — Middle
62

Могли бы вы назвать разные типы методов, используемых в потоках данных?

Companies where asked
DCloud
айтеко

Answer from AI

sobes.tech AI

В Java при работе с потоками данных (Streams API) используются разные типы методов, которые можно условно разделить на промежуточные и терминальные.

Промежуточные методы возвращают новый поток и позволяют строить цепочку операций, например:

  • filter(Predicate) — фильтрация элементов по условию
  • map(Function) — преобразование элементов
  • sorted() — сортировка элементов
  • distinct() — удаление дубликатов

Терминальные методы завершают обработку и возвращают результат или побочный эффект:

  • collect(Collector) — сбор элементов в коллекцию или другую структуру
  • forEach(Consumer) — выполнение действия для каждого элемента
  • reduce(BinaryOperator) — свёртка элементов в одно значение
  • count() — подсчёт количества элементов

Пример использования:

List<String> names = Arrays.asList("Anna", "Bob", "Alice", "Brian");
long count = names.stream()
    .filter(name -> name.startsWith("A"))
    .count();
System.out.println("Количество имен на A: " + count);