Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpStInr 35 of 322 menu
◀ ▶

Введение в Stream API в Java

Поток в Java похож на привычную цепочку filter и map у списка, но промежуточные шаги сначала только описывают работу. Реальный обход элементов начинается, когда в конце появляется конечная операция, которой нужен готовый результат.

С Java 8 потоки встроены в стандартную библиотеку. Их получают из коллекции методом stream, из массива через Arrays.stream или из отдельных источников вроде строк и диапазонов чисел. Дальше к потоку цепляют шаги и завершают цепочку командой сбора или проверки.

Короткий пример: отбор чисел не меньше десяти и сбор результата в список в конце:

import java.util.List; public class Main { public static void main(String[] args) { List<Integer> nums = List.of(10, 14, 7, 20); var chain = nums.stream() .filter(n -> n >= 10); List<Integer> picked = chain.toList(); System.out.println(picked); } }

Пока вызван только filter, программа лишь запомнила правило отбора. Сравнения с элементами списка произойдут внутри toList, когда цепочке понадобится собрать итог.

Переменная chain хранит описание шагов, а не готовый список отфильтрованных чисел. Такой прием удобен, когда данных много или цепочка длинная: лишняя работа не выполняется, пока результат действительно не запросят.

Конечный шаг может быть другим: посчитать длину, взять первый элемент или свернуть значения. Общее правило одно: промежуточная операция сама по себе не запускает полный проход по исходным данным.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить