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

Какие основные виды операций можно выполнять с потоками данных в Java?

Компании, где спрашивали
СовкомбанкСовкомбанк

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

sobes.tech AI

В Java с потоками данных (Streams) можно выполнять следующие основные виды операций:

  1. Промежуточные операции (Intermediate operations) — возвращают новый поток и позволяют строить цепочку обработки:

    • filter — фильтрация элементов по условию
    • map — преобразование элементов
    • flatMap — преобразование с распаковкой вложенных структур
    • distinct — удаление дубликатов
    • sorted — сортировка элементов
    • limit и skip — ограничение и пропуск элементов
  2. Терминальные операции (Terminal operations) — завершают обработку и возвращают результат:

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

Пример:

List<String> names = Arrays.asList("Anna", "Bob", "Charlie", "David");
List<String> filtered = names.stream()
    .filter(name -> name.length() > 3)
    .map(String::toUpperCase)
    .sorted()
    .collect(Collectors.toList());

Здесь мы фильтруем имена длиной больше 3, преобразуем их в верхний регистр, сортируем и собираем в список.