Что такое Java Stream API / Стримы в Джава / Как писать меньше кода и делать меньше ошибок

  Рет қаралды 26,631

Software Architect Alex Korolev

Software Architect Alex Korolev

Күн бұрын

Чем больше вы напишите кода - тем больше шанс что будет допущена ошибка.
В Java 8 появился инструмент, которым просто необходимо уметь пользоваться.
В данном видео мы рассмотрим простые примеры, которые уже на раннем этапе демонстрируют силу фреймворка.
что такое lambda - • Понимание Lambda выраж...
что такое optional - • Optional или как избав...
0:00 Вступление
0:44 Подготовка классов
4:24 Стримы
20:45 Итого
Java 2021

Пікірлер: 81
@user-dp6dh3cx5k
@user-dp6dh3cx5k 3 жыл бұрын
Отличное видео! Уже проходил данную тему, все понятно, но одновременно было пару новых моментов. С удовольствием посмотрел бы лямбды. UPD. Лямбды уже есть, спасибо!
@Alellas
@Alellas 3 жыл бұрын
Спасибо!)
@drZL0
@drZL0 3 жыл бұрын
Огромное спасибо за видео. Максимум наглядности, минимум воды - ровно то, что нужно для начинающего.
@alexned7905
@alexned7905 3 жыл бұрын
Спасибо за видео! Излагаете понятно и слушать приятно
@AndreyOtryaskin
@AndreyOtryaskin 9 ай бұрын
Отличное показательное видео, спасибо!
@user-np7bk9hb2u
@user-np7bk9hb2u 8 ай бұрын
Спасибо за видео ваши!!!!
@eron
@eron 2 жыл бұрын
Отличное видео, оно помогло мне вникнуть в стримы! Спасибо Алекс за обьяснение! Вижу на канале много полезного - подписался :)
@Art-ub1sg
@Art-ub1sg 8 ай бұрын
Полезно!
@anjelomanoranjan3908
@anjelomanoranjan3908 8 ай бұрын
Спасибо! Подписка оформлена! жду новых видео по Java
@user-bj4qb5bk3o
@user-bj4qb5bk3o 3 жыл бұрын
классно объясняешь, сколько видео пересмотрел.... твоя подача на the best. Продолжай в том же духе, будет много подписчиков
@timsafari6255
@timsafari6255 2 жыл бұрын
Большое спасибо за столь шикарное объяснение!
@Modestov1998
@Modestov1998 Жыл бұрын
Видео огонь!! Большое спасибо)
@DeAgRo
@DeAgRo 2 жыл бұрын
Отличное и информативное видео, все очень понятно объяснили, Спасибо за видео!
@haykvardevanyan4683
@haykvardevanyan4683 2 жыл бұрын
Автор просто нет слов как ты внятно все объяснил и показал на примере, спасибо большое, главное что тут наглядно видно зачем нужны Stream, ЛайкПодписка)
@iljavitohins8729
@iljavitohins8729 2 жыл бұрын
Спасибо за качественный урок.
@user-zo4ml2mg2s
@user-zo4ml2mg2s 3 жыл бұрын
Огромное спасибо за видео, все четко и понятно однозначно лайк и подписка)
@phil2964
@phil2964 3 жыл бұрын
Спасибо за труды👍👍👍
@bbrother92
@bbrother92 3 жыл бұрын
Спасибо, за подачу информации
@user-if8jq5cx7p
@user-if8jq5cx7p 3 жыл бұрын
Ништяк. Стримы - это супер крутой и удобный инструмент))
@Alellas
@Alellas 3 жыл бұрын
Полностью согласен ) Но на них тоже можно переборщить и очень непонятно написать. + Надо убедиться что все в команде их понимают.
@LVS-UA
@LVS-UA Жыл бұрын
Отличное видео. Автор, Вам большое спасибо!
@user-zz7ff2gm1f
@user-zz7ff2gm1f Жыл бұрын
Добрый день. Очень хорошие уроки у вас на канале. Доступно все изложено. Может вы планинуете к выходу еще какие-то уроки? Было бы классно!
@Ponemnogu_o_Mnogom
@Ponemnogu_o_Mnogom 2 жыл бұрын
Отличный ролик и подача. Спасибо
@user-lf1di3fd3x
@user-lf1di3fd3x 6 ай бұрын
Спасибо за труды!
@mrpipiskin4
@mrpipiskin4 Жыл бұрын
Спасибо, все еще актуально и полезно.
@irinasuponeva4748
@irinasuponeva4748 3 жыл бұрын
Спасибо за урок, все понятно сразу. А расскажите про лямбды так же для блондинок)))
@Alellas
@Alellas 3 жыл бұрын
хорошо, постараюсь записать. для лямбд надо прочитать что такое интерфейс, потом что такое функциональный интерфейс и что такое анонимные классы. после этого концепция лямбд будет очень легко понятна.
@irinasuponeva4748
@irinasuponeva4748 3 жыл бұрын
@@Alellas про интерфейсы, анонимные классы в курсе)
@Alellas
@Alellas 3 жыл бұрын
kzbin.info/www/bejne/sKXVkoRvmM18i6c - записал про основы lambda в java. не стал нагружать видео синтаксисом и прочим - думаю что если концепция понятна - то синтаксис проблем не создаст. есть грубо говоря два варианта синтаксиса - короткий и длинный но они оба очень просты.
@sovrinfo
@sovrinfo 2 жыл бұрын
Спасибо за видео.Коммент в поддержку!
@innaya13
@innaya13 Жыл бұрын
Thank you very much for such a beautiful explanation!
@alexkos2593
@alexkos2593 11 ай бұрын
так интересно и наглядно! Спасибо!
@user-km3mp8wh7f
@user-km3mp8wh7f 3 жыл бұрын
Да, хорошо объясняешь!
@Judosaper
@Judosaper Жыл бұрын
Спасибо за опшинал, стримы и лямбды, ты огонь! 🔥
@lavboj
@lavboj 3 жыл бұрын
Ты красава
@ConfidenceGold
@ConfidenceGold 2 жыл бұрын
Огромное спасибо!)
@gneltamamyan4305
@gneltamamyan4305 Жыл бұрын
spasibo ogromnoe!!!!
@bilbojke1834
@bilbojke1834 Жыл бұрын
Супер, отлично объяснено!
@user-dk9tb6zo2r
@user-dk9tb6zo2r Жыл бұрын
Отличное объяснение стримов!
@ercefwxdx
@ercefwxdx 3 жыл бұрын
Спасибо, отличное видео
@lesterbruke8166
@lesterbruke8166 3 жыл бұрын
Спасибо!
@user-cq2tg7rm3d
@user-cq2tg7rm3d 3 жыл бұрын
Круто!
@Alellas
@Alellas 3 жыл бұрын
Спасибо, но это лишь вершина айсберга. Стримы очень обширная тема.
@shokhrukhtolkinov2873
@shokhrukhtolkinov2873 Жыл бұрын
Отличное видео👍👍👍👍👍👍👍👍спасибо
@ilgul9177
@ilgul9177 2 жыл бұрын
Thanks. It's a very useful video for me.
@user-nx4qo5zm2p
@user-nx4qo5zm2p 2 жыл бұрын
Отлично.
@cakeistrue
@cakeistrue 2 жыл бұрын
Класс!!!
@arahnid_9844
@arahnid_9844 Жыл бұрын
спасибо за видео. Интересно было бы увидеть примеры, как с помощью стримов заменить for в котором идет работа с индексами. Что-то вроде "в элементах с индексом 5-15, заменить буквы А на О". Пока мне такое проще через обычный for делать, но наверно есть способы получше
@user-jv5wf3gx2e
@user-jv5wf3gx2e 2 жыл бұрын
Спасибо вам, урок отличный! Но вроде вы используете более свежую Java, не Java 8. В 8 по идее надо использовать Arrays.asList() вместо List.of
@user-tg3wl8yj3i
@user-tg3wl8yj3i 3 жыл бұрын
Спасибо! Доходчиво, коротко, ясно! Было бы хорошо, получить Git ссылку на Ваш код :)
@Alellas
@Alellas 3 жыл бұрын
Привет. Мои репо закрыты так как клиенты не очень хотят чтоб их код был в интернете. Но из интересных репозиториев вот например есть - github.com/kdn251/interviews - там вопросы к интервью в известные компании )
@user-tg3wl8yj3i
@user-tg3wl8yj3i 3 жыл бұрын
@@Alellas Спасибо Большое
@non_holy6286
@non_holy6286 2 жыл бұрын
лайк!!
@maxsmithist
@maxsmithist Жыл бұрын
Спасибо за отличное видео, а как делается проверка на null?
@VitMS1
@VitMS1 3 жыл бұрын
Примеры хорошо раскрывают и понятно рассказано. Зачем в последнем примере отдельно создать переменную Optional, дальше чейнить, например с OrElse*() - по желанию - кода меньше будет :)
@astracode7955
@astracode7955 2 жыл бұрын
Спасибо за видео. А можно применение стримов, опшинал ближе к коду. Например в сервисах, ДАО. Что нибудь такое
@lisafox9026
@lisafox9026 Жыл бұрын
enum перечисления : при сравнении лучше использовать знак равно , во избежание NPE .filter(a -> a.getClassification() == Classification.PREDATOR) или?
@na12mor
@na12mor Жыл бұрын
о, было аж три строчки, а со стрим апи стало всего три строчки! 🤣
@user-uo6vk5vb1l
@user-uo6vk5vb1l 3 жыл бұрын
Мужик всё круто молодец)))) Не знаю обрабатываешь ты звук после записи или нет. Но летят сибилянты очень сильно. На дорожку кидай диессер что бы это победить и звук будет чище.
@Alellas
@Alellas 3 жыл бұрын
Если честно то нет - меня хватило только на базовые настройки. Под окном ездят поезда и машины, а от стен идет эхо, так что решил совсем уж не заморачиваться и просто до терпимого уровня дотащить. Про диессер услышал - попробую! Спасибо!
@user-uo6vk5vb1l
@user-uo6vk5vb1l 3 жыл бұрын
@@Alellas если хочешь, когда следующее видео будешь монтировать скинуть мне дорожку я попробую подправить . ))) Мне не сложно и не напряжно, я как хобби занимаюсь музыкой )))
@Alellas
@Alellas 3 жыл бұрын
@@user-uo6vk5vb1l учту!) пока нашел плагин, попробую пока сам на -10 db выставлять - вроде не так уши режет. сам бы врятли заметил, спасибо!
@edmundasmilieska9266
@edmundasmilieska9266 2 жыл бұрын
Спосибо. Можно пожалуста о Call Back было бы очень познавательно.
@BlackSoul57
@BlackSoul57 Жыл бұрын
Тоже самое, что и в С# методы расширения LINQ для коллекций и массивов. Я бы добавил, что возможно после стрелки писать полноценные тела методов, а не только одну строку, по сути писать полноценные лямбда-выражения и даже вложенные стримы, но есть риск леща огрести за такой код.
@user-mn1hg2jb8d
@user-mn1hg2jb8d 10 ай бұрын
Прошу змейть меня 0:20
@ascar66
@ascar66 3 жыл бұрын
А есть ли возможность показать как применяются лямбды в боевой разработке? А то все на простейших примерах учим, а как оно в работе неизвестно.
@Alellas
@Alellas 3 жыл бұрын
самый простой пример - использование runnable - stackoverflow.com/questions/34026903/how-runnable-is-created-from-java8-lambda - тут разбирают что человек встретил в коде. тут нет никакой магии - где раньше вы писали for и создавали анонимные классы - теперь используете лямбды и стримы. но перебарщивать с ними тоже не надо - самое главное чтоб код работал и легко читался.
@user-np7bk9hb2u
@user-np7bk9hb2u 8 ай бұрын
Почему в конце Optional ?
@user-dj5rn2tz6q
@user-dj5rn2tz6q 2 жыл бұрын
Немного странно, когда в "старом подходе" видишь непосредственно работу с функционалом стримов, а именно .forEach с референс методом внутри. А так все клево, спасибо.
@user-mz3us8pr9e
@user-mz3us8pr9e 10 ай бұрын
Здравствуйте, вы больше не ведете канал?
@anpoliakov
@anpoliakov 2 жыл бұрын
Все супер, только напрягает сглатывание слюны в микрофон) попей водички)
@RumEvo
@RumEvo 6 ай бұрын
Обычная рабочая обстановка, не напрягайтесь
@aleksadler6679
@aleksadler6679 2 жыл бұрын
Отличный видос. Залетел, как школьник на концерт Моргенштерна)
@RumEvo
@RumEvo 6 ай бұрын
Как так быстро копипастить?
@RumEvo
@RumEvo 6 ай бұрын
Нашел. Пользуйтесь. ctrl + D
@alexalexander3252
@alexalexander3252 2 жыл бұрын
Между HERBIVORE и OMNIVORE так и просится CARNIVORE вместо PREDATOR.
@narrow_minded
@narrow_minded 2 жыл бұрын
Очень тихо, почти шёпот 😒
@user-iq5wx7qq4v
@user-iq5wx7qq4v 2 жыл бұрын
Спасибо!
@user-ok1lq9be4q
@user-ok1lq9be4q 2 жыл бұрын
Спасибо!
How to open a can? 🤪 lifehack
00:25
Mr.Clabik - Friends
Рет қаралды 11 МЛН
Teenagers Show Kindness by Repairing Grandmother's Old Fence #shorts
00:37
Fabiosa Best Lifehacks
Рет қаралды 25 МЛН
Useful Gadget for Smart Parents 🌟
00:29
Meow-some! Reacts
Рет қаралды 9 МЛН
Каха с волосами
01:00
К-Media
Рет қаралды 4,7 МЛН
Подготовка к Java собеседованию #6 Stream API
32:06
Java. Для чего нужен Optional?
18:26
Sergey Arkhipov Java Tutorials
Рет қаралды 11 М.
Что нового в JDK 21
52:37
Уголок сельского джависта
Рет қаралды 7 М.
Java умирает? / Java устарел и нужно учить другой язык?
10:21
Сергей Куксенко - Stream API, часть 1
1:13:18
JPoint, Joker и JUG ru
Рет қаралды 81 М.
How to open a can? 🤪 lifehack
00:25
Mr.Clabik - Friends
Рет қаралды 11 МЛН