Назад к вопросам
Middle
74
questionbank
Какие операции существуют в стримах и какие типы операций бывают?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
В Java 8+ стримы предоставляют набор операций для обработки коллекций данных.
Типы операций:
-
Промежуточные (Intermediate): Возвращают новый стрим. Могут выполняться лениво. Позволяют связывать цепочку операций. К ним относятся:
filter()map()flatMap()distinct()sorted()peek()limit()skip()
-
Терминальные (Terminal): Завершают работу стрима, выполняя обработку и возвращая результат или производя побочный эффект. После выполнения терминальной операции стрим нельзя использовать повторно. К ним относятся:
forEach()forEachOrdered()toArray()reduce()collect()count()sum()average()min()max()anyMatch()allMatch()noneMatch()findFirst()findAny()
Пример цепочки операций:
// Промежуточные операции (filter, map)
// Терминальная операция (collect)
List<String> filteredList = originalList.stream()
.filter(s -> s.startsWith("A")) // Фильтрация элементов, начинающихся с "A"
.map(String::toUpperCase) // Преобразование в верхний регистр
.collect(Collectors.toList()); // Сбор результатов в List