Java Stream API: функционально, модно, молодёжно!

preview_player
Показать описание
Java Stream API: функциональный подход к работе с коллекциями в Java 8+. Продвинутые методы работы с коллекциями.

Содержание ниже

Казалось бы, чего такого можно придумать в обработке коллеций: взяли и обошли в цикле, но нет. Если мы взглянем в те же популярные JavaScript, ruby, python или более близкие JVM языки, то увидим, что можно жить проще, писать меньше кода и получать более читабельные обработчики. Инженеры из Oracle напрягли мозги и осчастливили миллионы разработчиков во всём мире. Присоединимся же и мы к всеобщей радости, кратко ознакомившись с этим замечательным API.

Код из видео:

Хорошая статья по теме (спасибо Чеширу, что нашёл и поделился в чатике):

Видео про Lombok:

СОДЕРЖАНИЕ

Стримы из объектов

Терминальные операции

➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

Поддержать проект:

➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

Рекомендации по теме
Комментарии
Автор

СОДЕРЖАНИЕ

0:52 Стримы из объектов файловой системы
0:55 Files.lines()
1:11 Files.list()
1:20 Files.walk()

1:50 Стримы из примитивов
2:02 IntStream
2:12 DoubleStream
2:23 IntStream.range()
2:42 IntStream.rangeClosed()
2:54 Arrays.stream()

Стримы из объектов
3:11 Stream.of(Object)
3:35 Stream.builder()
3:54 Collection.stream()
4:15 Collection.parallelStream()
4:45 Stream.generate()
5:37 Stream.iterate()
6:26 Stream.concat()

Терминальные операции
7:15 Stream.count()
7:20 Stream.forEach()
7:52 Collection.forEach()
8:04 Stream.forEachOrdered()
8:27 Stream.collect()
8:51 Stream.toArray()
8:56 Stream.collect(toMap())
9:40 IntStream.reduce()
10:06 Stream.reduce()
12:21 IntStream.average(), IntStream.max(), IntStream.min(), IntStream.sum(), IntStream.summaryStatictics()
12:44 Stream.max(), Stream.min()
13:09 Stream.findAny(), Stream.findFirst()
13:35 Stream.noneMatch()
14:02 Stream.anyMatch()
14:13 Stream.allMatch()

15:01 Трансформации стримов
15:08 IntStream.mapToLong()
15:19 IntStream.mapToObj()
15:52 IntStream.distinct()
16:08 Stream.filter()
16:29 Stream.skip()
16:34 Stream.limit()
17:26 Stream.sorted()
17:45 Stream.map()
18:01 Stream.peek()
18:46 Stream.takeWhile()
19:25 Stream.dropWhile()
21:20 Stream.flatMap()

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

letsCodeDru
Автор

*Отличное наглядное пособие по Stream!*
Для полноты картины только, можно было бы в начале сказать, что такое Stream...

victormog
Автор

Лучшее видео по стрим апи, которое я видел. Было бы классно углубится в эту тему и ещё рассказать про функциональные интерфейсы. Часто спрашивают на собеседованиях именно о них)

ДанилЧерепанов-щт
Автор

Спасибо большое, постоянно использовал циклы и избегал Stream. Полтора года в QAA, по началу казалось сложно и отодвигал до последнего(Да и мало кто из QA их использует, видимо по той же причине). Теперь буду использовать везде, где это обосновано, уж очень симпатично выглядит.
Подписался.

Hocorend
Автор

Большое спасибо за видео!!! Даже не знаю, как еще выразить благодарность. Дело в том, что я джун в компании, устроился совсем недавно, и темы ваших роликов как раз совпадают с изучаемыми мной темами.

kunnilinux
Автор

Сначала было тяжело понимать, потом скорость 0, 75 поставил и класс. Осталось заставить себя перейти с циклов на стримы, чтобы практикой это все закрепить

ЕвгенийАфанасьев-жэ
Автор

Отличная демонстрация Stream API, с удовольствием посмотрел бы еще по Optional

nsandrus
Автор

видео изумительно) спасибо! Жду новых видео по Java

anjelomanoranjan
Автор

Очень позновательно, быстро и без воды. Не как вот эти: а сегодня мы бе ме ге, аааа, еее. 👍🏻

Kepchyk
Автор

Спасибо большое!! Даешь очень просто приложения по Spring Cloud!! =))

dmitrymukhin
Автор

это самое содержательное видео на ютубе, лайк)

eugenekotsaba
Автор

Чрезвычайно содержательное видео! Все подробно и без ошибок, эканий и бэканий. За таймкоды в описании отдельное спасибо!

torpid
Автор

Как-то пропустил) Крутой видос, и реально полезный! Исправляюсь: Like as usual!

D.P._
Автор

Годные и информативные видосы, спасибо за контент! Было бы здорово увидеть туториал по Spring security в вашем исполнении) Желательно более углубленно и информативно нежели уже есть на канале

mr_robot__
Автор

супер! мне (как тупому) ничего не понятно, но кажется что объяснение хорошее!)

celmszk
Автор

одна из самых актуальных тем, спасибо!

МихаилКузнецов-мэ
Автор

Круть! Концентрация полезности зашкаливает )) При этом доступность и изложение инфы на высоте

faniskhalikov
Автор

Прикольная штука. Недавно узнал об akka-streams, по документации можно более наглядно посмотреть и понять для чего они вообще нужны. +back pressure

ЕгорАнтонов-иъ
Автор

Спасибо БОЛЬШОЕ за видео! Пока что не понятно как работает эта тёмная магия)) Нужно ещё погонять этот ролик speed 0, 1))

arbuzer
Автор

Видео хорошее, только ваш обход списка работает, если самая корневая нода (у которой нет родителя) находится под первым индексом в списке, иначе она будет будет рекурсивно передаваться как аргумент чайлд департамента и дерево не сможет создаться, так как у нескольких департаментов не будет родителей

levvv