Стримы
Серия о том, как работать со стримами в Java: от первого конвейера вместо цикла до группировок и своего коллектора. Каждая статья начинается с задачи, а пример запускается одним файлом на Java 25.
Читай по порядку: каждая статья опирается на прошлые. После каждой — бесплатные задачи на ту же тему в кузнице Stream Forge.
Опубликовано 1 из 10 · следующая — 2
«Стримы по шагам» 1–10
Сквозной пример — заказы кофейни «Наковальня»: отбираем, превращаем, сортируем, раскладываем по группам и считаем.
-
1Стрим вместо цикла: конвейер для коллекций
Источник, промежуточные и конечная операции, лямбда, ленивость, одноразовый стрим и toList() против collect(Collectors.toList()) — на заказах кофейни.
читать минут 20
-
2
filter,mapиOptionalбез страха скоро -
3Сортировка: компараторы и ловушка
reversedскоро -
4
flatMap: списки внутри объектов скоро -
5
groupingByиtoMap: раскладываем по группам скоро - 6Коллекторы внутри группы скоро
-
7Стрим по
Map: сортировка по значению и «топ-N» скоро -
8Числа:
IntStream, суммы и переполнение скоро - 9Две коллекции: индекс вместо стрима в стриме скоро
- 10Свой коллектор и когда цикл лучше скоро
Попробовать руками
В кузницах Hammerhall — задачи по Java, которые проверяет сервер: решаешь в своей IDE, отправляешь одной командой, проверка запускает твои тесты и закрытые. Сложность растёт вместе с решённым, первые задачи бесплатны.