Лямбда-выражения в Java 8

Поділитися
Вставка
  • Опубліковано 27 вер 2024
  • Лямбда-выражения - одно из самых заметных нововведений Java версии 8. Они вносят в Java, который является объектно-ориентированным языком, некое функциональное звено. И в этом смысле lambda-выражения способны существенно облегчить жизнь разработчику. Рассмотрению этих вопросов и посвящен новый бесплатный вебинар учебного центра "Специалист" при МГТУ имени Баумана.
    В ходе нашего урока по Java будут на конкретных примерах рассмотрены следующие проблемы:
    - Использование анонимных классов;
    - Функциональные интерфейсы Java 8;
    - Лямбда-выражения и зачем они нужны;
    - Агрегатные операции.
    Мастер-класс ведет преподаватель по программированию с многолетним практическим опытом, сертифицированный тренер и обладатель 10 сертификаций Microsoft для разработчиков и программистов Сергей Юрьевич Шуйков.
    Курсы Java в Центре "Специалист" при МГТУ имени Баумана - www.specialist....
    Смотрите все видео по языку Java на нашем канале - • Java
    Закажите курс в мобильном приложении и получите дополнительную скидку 10% -
    www.specialist....

КОМЕНТАРІ • 176

  • @СэмФишер-х4д
    @СэмФишер-х4д 8 років тому +248

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

    • @AyratVideo
      @AyratVideo 7 років тому +2

      присоединяюсь, от души!

    • @GriNAME
      @GriNAME 6 років тому +1

      Согласен, отличный урок!

    • @ПетрПетров-г5ъ
      @ПетрПетров-г5ъ 5 років тому +18

      📂Рабочий стол
      └📂Избранное
      └📂VideoTutorial
      └📂Java
      └📂Лучшее
      └✇Лямбда-выражения_в_Java_8.avi

    • @tatyanayurchenko6840
      @tatyanayurchenko6840 2 роки тому

      Точно. Видео про лямбды много. Но только здесь обьясняется суть, зачем именно нужны лябды.

    • @kubaalexx
      @kubaalexx 2 роки тому

      Это бриллиант!!!

  • @Snegurjan
    @Snegurjan 2 роки тому +10

    Сейчас 2022 год, Июнь месяц. В интернете множество курсов, туториалов, статей. Тем не менее данный урок по этой теме остается лучшим, который когда либо встречал. Спасибо учителю!

  • @OldPartizan
    @OldPartizan 2 роки тому +2

    Огромная благодарность Сергею Шуйкову! настолько доходчивых объяснений в общем нетривиальных вещей я ещё не встречал.

  • @makarovigor717
    @makarovigor717 2 роки тому +6

    по данной теме, лучше уже не будет и быть не может, уважение к таким людям - автору, как говорится: "что бы чему-то научиться - нужно быть усердным, а что бы поделиться знаниями этого мало, нужно быть благородным!"

  • @ALEXZANDR_GAMES
    @ALEXZANDR_GAMES Рік тому +1

    Да, действительно лучшее объяснение по поводу анонимных классов и лямбда-выражений. 👍

  • @drplekhanov
    @drplekhanov Рік тому +2

    Лучшее что я видел про лямбда выражения! Спасибо тысячу раз!

  • @АндрейБезладнов
    @АндрейБезладнов 5 місяців тому

    До сих пор очень полезное видео. Авто молодец

  • @sergeytsoy9447
    @sergeytsoy9447 4 роки тому

    Человечище. Простым, доступным, элементарным языком объяснил. Все гуру в своих объяснениях разговаривают как 10классник с 1классником. Гуру не могут перейти на язык первоклассника. Как говорится, если коту не можешь объяснить, значит сам не до конца понимаешь. Автор, мне кажется, даже столбу смог донести. Как красиво переход сделал от анонимного класса к лямбдам.
    Автору респект!!!

  • @JeyX90
    @JeyX90 2 роки тому +1

    Хороший урок, особенно в конце Stream API доходчиво объяснены

  • @greenkingshop1033
    @greenkingshop1033 2 роки тому +1

    Перед просмотром такого длинного ролика решил почитать комменты. Комменты меня подбодрили, ну чтож, начнём, а после окончания ролика дополню свой коммент
    UPD: досмотрел, комментарии верны, это супер урок! Спасибо автору!

  • @INGGaming
    @INGGaming Рік тому +1

    2023, актуально. Спасибо за урок

  • @NacWay_
    @NacWay_ Рік тому +1

    Разжевали тему на 10 баллов. Спасибо за урок!🤓

  • @ИнжирНер-з1з
    @ИнжирНер-з1з 2 роки тому +1

    Это, пожалуй, лучшее, что я видел по этой теме. Описано все в достаточной мере понятно и интересно

  • @alexandrpanov9110
    @alexandrpanov9110 3 роки тому +1

    Божественный урок. У меня вся информация которая была в голове в немного неудобоваримой форме просто стала на свои места. Спасибо ОГРОМНОЕ!!!!!!!

    • @SpecialistTV
      @SpecialistTV  3 роки тому

      Спасибо за ваш отзыв, мы рады, что мастер-класс помог структурировать ваши знания)

  • @fob0s1996
    @fob0s1996 2 роки тому +1

    Это насколько хорошее пояснение, что лучше не представляю!

  • @alekseyslovyagin6056
    @alekseyslovyagin6056 3 роки тому

    Шикарное объяснение лямбда-выражений.

    • @SpecialistTV
      @SpecialistTV  3 роки тому

      Спасибо большое за ваш отзыв)

  • @alexkolokolov
    @alexkolokolov 8 років тому +45

    Большое спасибо! Очень доходчиво. Наконец-то я понял, как это устроено.

  • @maslovskydrums5426
    @maslovskydrums5426 6 років тому +1

    Офигеннейший урок!
    Насчет лямбд и стримов - не понимаю, как я вообще раньше жил без них

  • @MrMoshell
    @MrMoshell 6 років тому +4

    На одном дыхании просто. Умение объяснять дано не всем. Спасибо автору лекции большое! Не нашел больше видео от него :(

  • @evgenasd8892
    @evgenasd8892 4 роки тому

    Просто класс! Учитывая то что изучаю азы явы, и в своем родном языке pascal никаких лямб не существует, этот урок понял от начала и до конца! Остается закрепить на практике, + удобство использования лямбд для обработки информации -шикарно! и наглядно. Автору СПАСИБО!!!

  • @jus2te593
    @jus2te593 5 років тому +5

    Очень крутой мужик. Разъяснил все на пальцах.

  • @ihorbidni2528
    @ihorbidni2528 5 років тому +1

    Ясно доходчиво и показывает суть лямбда выражений,спасибо!!!!!!!!!!!!!!!!!!!!!!!

  • @russellgk2612
    @russellgk2612 6 років тому +7

    Лучшее видео для начального понимания анонимных классов, лямбд, стриам апи и разницы в подходах декларативного и императивного подхода в программировании!

  • @ИльяГорбачёв-х8о
    @ИльяГорбачёв-х8о 3 роки тому +2

    Ахринеть СПАСИБО !!! За такое хорошее объяснение. Все по полочкам

  • @thunderball_ua
    @thunderball_ua 3 роки тому +1

    Такое ощущение, что автор все видео орет на тебя, но от этого и лучше понимается :)

  • @alexalexander3252
    @alexalexander3252 3 роки тому

    Самое толковое по лямбдам и анонимным классам что я слышал на данный момент.

    • @SpecialistTV
      @SpecialistTV  3 роки тому

      Спасибо за добрые слова) Будем и дальше стараться радовать полезным контентом наших слушателей!

  • @programm4you
    @programm4you 7 років тому +11

    Супер объяснение и ясно, откуда ноги растут. Сам учился у Сергея Шуйкова джаве в Специалисте в 2010 году, лучший препод - вопросов никогда не возникало во время объяснения материала и всегда хорошие примеры. Пример с выключателем - шаблон Наблюдатель (Observer). Java Code Convention действительно не в полном объеме выполняется, в частности скобка { должна начинаться в продолжении строки и тело операторов if также надо заключать в скобки {}, даже если это одна строчка, но последнее можно и опустить ради экономии пространства для лучшего понимания материала. В любом случае, объяснение просто идеальное. Спасибо Большое Сергею за урок!

  • @lexjust
    @lexjust 8 років тому +15

    Божественно объяснил! Спасибо от души.

  • @ДенисРыбалов-л1у
    @ДенисРыбалов-л1у 3 роки тому

    Как же вы бодро рассказываете ! Прям не уснёшь )

  • @borman7l2
    @borman7l2 4 роки тому +1

    Супер. Всё понятно, простым языком, бережно усложняя по мере повествования)

  • @KnyazevArtur
    @KnyazevArtur 3 роки тому

    Очень круто, молорик, все в одном видео, ничего с головы не вылетает, отличный формат

  • @Rustam-b7q
    @Rustam-b7q 4 роки тому

    Ну наконец-то я понял что это за зверь такой лямбда-выражения. Спасибо!

  • @artemkamko8542
    @artemkamko8542 7 років тому +4

    Спасибо большое Вам за такой урок! Наконец-то хоть кто-то приподнял завесу на Java 8.
    Успехов в разработке:)

    • @SpecialistTV
      @SpecialistTV  7 років тому

      Спасибо за Ваш отзыв!

  • @josephinehi9425
    @josephinehi9425 5 років тому +3

    Отличный урок. Спасибо. Все понятно.

  • @ИгорьКрасильников-ж3у

    Автору благодарность ...супер!!!

  • @ИльнурФарахов-ц8ъ
    @ИльнурФарахов-ц8ъ 5 років тому

    Ааааааа ору, какое же классное видио, просто божественный преподаватель!!! Просто у меня возникает вопрос, и он через две секунды на него отвечает, тут же, как чувствует!!))) Дай бог здоровья тебе!

  • @Александр-ъ1л4и
    @Александр-ъ1л4и 4 роки тому

    Однозначно +++++, это лучшее объяснение что я видел и слышал в нете!!!

  • @michaeltes8864
    @michaeltes8864 4 роки тому +3

    Спасибо, очень понятно рассказано. Как раз то, что я искал!

  • @Yornero
    @Yornero 3 роки тому +1

    Спасибо, просто замечательный урок

  • @SerhiiHrihus
    @SerhiiHrihus 6 років тому

    Пожалуйста, давайте еще подобных видео, очень все доходчиво.

  • @antonzubchenok6721
    @antonzubchenok6721 7 років тому

    Очень доступно объясняете. Отличный урок. Спасибо.

    • @SpecialistTV
      @SpecialistTV  7 років тому

      Большое Вам спасибо за отзыв, Антон!

  • @vdubovsky
    @vdubovsky 4 роки тому +3

    Второй раз смотрю! Огромное спасибо.

  • @user-yf8jf3fo2x
    @user-yf8jf3fo2x 7 років тому +12

    еклмн.... когда шла 31-ая минута, начало казаться что автор путает лямбды с лампами :) но потом хорошо пошло

  • @tuRistst
    @tuRistst 6 років тому +2

    Абсолютно лучший урок

  • @destroff2exciter
    @destroff2exciter 7 років тому +1

    Шикарное видео, очень хорошо объясняет.

    • @SpecialistTV
      @SpecialistTV  7 років тому

      Спасибо за Ваш отзыв, Дарья!

  • @paralrk
    @paralrk 4 роки тому +2

    Отличная лекция, спасибо!

  • @damirgaynanov9608
    @damirgaynanov9608 4 роки тому

    Офигеть! Ощущение как будто понял почему бывает дождь. Сомневался стоит ли смотреть, так как все это уже делал, но только вот делал я это очень слабо понимая что происходит. Респект за работу!

  • @OleksiiVerkhola
    @OleksiiVerkhola 8 років тому +2

    Человек подотовился и очень хорошо всё обьяснил.

  • @Sanchio
    @Sanchio 2 роки тому

    Огромное спасибо за этот урок!

  • @vdubovsky
    @vdubovsky 5 років тому +2

    Супер! Спасибо за материал!

  • @dmitrelkin9256
    @dmitrelkin9256 3 роки тому

    Спасибо автору! Отличная подача материала!

  • @melisavi
    @melisavi 3 роки тому

    Спасибо большое, очень хорошо разъяснена такая сложная тема!

  • @СтепанЗакотырин
    @СтепанЗакотырин 2 роки тому

    Очень познавательно и доходчиво, спасибо!

  • @AtNovember
    @AtNovember 8 років тому +3

    Спасибо!!
    Очень похоже на ecmascript6, где вместо function тоже используются символы =>
    И благодаря методам stream код немного похож на NodeJS )

  • @obiwankostkenonibi7958
    @obiwankostkenonibi7958 4 роки тому

    Спасибо так все доходчиво объяснили!!!!! Спасибо !!!

  • @Yokopono
    @Yokopono 3 роки тому

    Огромное спасибо за материал.

  • @vladimirmaksimov3938
    @vladimirmaksimov3938 2 роки тому

    Спасибо большое, вы лучшие)

  • @KALMAPUK
    @KALMAPUK 3 роки тому

    Очень круто. Спасибо!

  • @mshvsh
    @mshvsh 4 роки тому

    Очень удачная лекция

  • @ВячеславМ-е1т
    @ВячеславМ-е1т 6 років тому

    Лучший урок!Спасибо!

  • @netizmen
    @netizmen 4 роки тому

    Мега круто! Спасибо!!!

  • @vanweyden
    @vanweyden 3 роки тому

    Огромное спасибо вам!

  • @EgorKhokhlov
    @EgorKhokhlov 6 років тому +7

    Действительно, хороший видео урок, но я, все-таки, всем советую сначала прочитать теорию или статьи на тему лямбд, стримов и интерфейсов, охренеть от их непонятности, а уж потом смотреть видео. В такой последовательности вы сначала сформируете для себя представление о терминах, а так же накопите перечень вопросов на подобии "какого хрена разработчики джава тут имели ввиду?" и "так-то зачем сделали?", а уже во время просмотра видео получите для себя ответы на свои вопросы. Если в обратной последовательности изучать - придется делать паузы и читать теорию, либо несколько раз пересматривать непонятные участки видео для усвоения материала, что приведет к потере целостности картины взаимосвязанности функциональных интерфейсов, лябд и стримов.

    • @SpecialistTV
      @SpecialistTV  6 років тому

      Спасибо за ваш комментарий, Георгий, очень ценное замечание.

    • @nikivanov6900
      @nikivanov6900 5 років тому

      Вот правильно. Со своими лампами, радио забыл дать каноническое определение интерфейса и как оно работет. Такие уроки просто запутываеют. Я пока не почитал в книжке от этого урока сначала был восхищё, а потом понял что это видео каша какя-то.

    • @ДмитрийГончаров-о5э
      @ДмитрийГончаров-о5э 4 роки тому

      @@SpecialistTV Добрый день. Сергей Юрьевич Шуйков, если Вам не сложно, можете дать ссылки на Ваши видео по Java. Недавно смотрел Ваше видео по лямбда выражениям, это просто шедевр, у Вас от Бог дар к обучению. Очень хочется Вас смотреть и по Вашим урокам изучать технологии.

  • @mvgudz
    @mvgudz 7 років тому

    Шикарно! Спасибо большое!

  • @oleksandrhomyak
    @oleksandrhomyak 4 роки тому

    не.. когда видишь такое видео ты понимаешь как ты далек..... А именно от уровня этого препода. Без слов просто шикарно изложен материал и реально жалко. что мало видео больше ненашол в его исполнении!

  • @borisyatsenko4626
    @borisyatsenko4626 7 років тому +18

    Шикарный урок! Мало кто умеет объяснять так просто и доходчиво. Вот бы и по Generic'ам такой же урок!

  • @ЕвгенийЕфремов-ф6е
    @ЕвгенийЕфремов-ф6е 4 роки тому +1

    Очень доходчиво. Большое спасибо.

  • @iamuare.tyler.durden
    @iamuare.tyler.durden 5 років тому +1

    Лучший.

  • @MrJohnny2110
    @MrJohnny2110 6 років тому +1

    Воу, Спасибо, очень сильно!

  • @LeonidSam
    @LeonidSam 6 років тому

    Спасибо автору.

  • @ПавелЗубко-ц8ч
    @ПавелЗубко-ц8ч 5 років тому

    спасибо за урок

  • @АлександраТокарева-ж8ю

    Спасибо большое!

  • @deniszabrodin3366
    @deniszabrodin3366 5 років тому +1

    Спасибо!

  • @thecz
    @thecz 8 років тому +1

    Спасибо! Хороший урок

  • @ladysoverschenstvo7875
    @ladysoverschenstvo7875 5 років тому

    Классно поспала под урок))) тяжело мне джава даётся)

  • @katem6453
    @katem6453 6 років тому +2

    Супер!! Шикарная подача материала. А кто лектор?

  • @maksimus.ssirotkin1124
    @maksimus.ssirotkin1124 5 років тому

    Хорошее видео

  • @viktorkopychko2483
    @viktorkopychko2483 8 років тому +2

    супер

  • @ДмитрийГончаров-о5э

    Добрый день. Сергей Юрьевич Шуйков, если Вам не сложно, можете дать ссылки на Ваши видео по Java. Недавно смотрел Ваше видео по лямбда выражениям, это просто шедевр, у Вас от Бог дар к обучению. Очень хочется Вас смотреть и по Вашим урокам изучать технологии.

  • @fredor2844
    @fredor2844 3 роки тому

    Упомянул бы еще, что ты паттерн "Наблюдатель" применил

  • @ИгорьДмитренко-т6т
    @ИгорьДмитренко-т6т 4 роки тому +1

    Лучше не бывает!!!!

  • @ДмитрийШатохин-э6с

    Кто этот замечательный докладчик? Как зовут?

  • @anigharslyan364
    @anigharslyan364 6 років тому

    Thank You

  • @yabesmail
    @yabesmail 3 роки тому

    Очень крутое видео! Раскрыта все последовательность переходов к лямбда, вся суть. Можно ли купить курс по Java с Шуйковым С.Ю. или он только очные курсы ведет?

  • @AxelGt30
    @AxelGt30 4 роки тому

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

  • @ЮрийНевенченов
    @ЮрийНевенченов 8 років тому +2

    урок шикарный. Но меня все удивляет подход "с другой стороны" в программировании, в Java, в частности:
    а почему выключатель должен узнавать о лампе? Почему не лампа должна интересоваться: включен ли выключатель?

    • @ЕвгенийКолоколов-в6ю
      @ЕвгенийКолоколов-в6ю 7 років тому +15

      Пусть спустя год, но вдруг кому пригодится.
      Подход, когда лампа должна всегда опрашивать выключатель - включен он или нет - вызывает так называемый "busy wait". То есть лампа должна постоянно долбиться на выключатель и проверять включен он или выключен, а для этого тратятся ресурсы системы.

    • @EgorKhokhlov
      @EgorKhokhlov 6 років тому

      Спасибо за разъяснение.

  • @MykMur
    @MykMur 4 роки тому

    .sorted можно было написать как:
    .sorted(Comparator.comparing(Person::getName))

  • @benjaminBTN
    @benjaminBTN Рік тому

    Подскажите, как это работает: есть метод "void fire(Object sender)" и мы его вызываем таким образом: "Main::fire", но где и каким образом происходит передача Object sender в параметры метода??

  • @IgorNaumov
    @IgorNaumov 3 роки тому +1

    Интересно, я один в 2020м году учу java8 ? :)))

  • @Kilua-k2z
    @Kilua-k2z Рік тому

    Видео конечно шикарное. Но кто нибудь может объяснить, как получается передать параметром на 41 минуте, статический метод, ведь метод addElectricityListener ждёт реализацию типа electricityСоnsumer, а в итоге передается просто статический метод fire. Как это получилось???

  • @АлексейБолотный-ф3л

    Здравствуйте. А как удалить объект (реализацию интерфейса) из коллекции, если добавлялся он в виде Лямбда выражения?

  • @AJ-dy2bt
    @AJ-dy2bt 7 років тому

    Classная лекция!

  • @alexmarkov9943
    @alexmarkov9943 2 роки тому

    Интересно а через стрим фильтровать можно сразу с консоли считывать данные или только через арайлист?

  • @misastudy7385
    @misastudy7385 Рік тому

    Хороший видос. У докладчика коробочка варит!

  • @johnconstantine6331
    @johnconstantine6331 3 роки тому

    Разве так можно ссылку с налом сравнивать? Вроде ж специальная функция должна быть или я с чем-то путаю типа oracle sql?)

  • @mesut1046
    @mesut1046 7 років тому

    вопрос про Стрим, конкретно про метод sorted:
    .sorted(p1, p2) -> p1.getName().compareTo(p2.getName())
    можно пояснить реализацию этого метода sorted? почему передается имеено два параметра, и откуда они берутся? ну вот p1 понятно, а вот что с p2?

  • @antonkuznetsov4978
    @antonkuznetsov4978 5 років тому

    the Best

  • @Dennis84918
    @Dennis84918 3 роки тому

    Доя того, чтобы кнопка могла работать с методом, про который она ничего не знает, существует ооп. Кнопка должна работать с интерфейсом. Делай класс по интерфейсу. Ссылки не нужны.

  • @ДмитрийВинокуров-х8г

    Я не смотрел другие уроки по данной теме, но могу сказать лишь то что все равно ничего не понятно. Зачем городить интерфейс, потом имплементить его в каждлом класее, потом создавать список сылками на методы этих классов через цикл когда можно сразу в цикле вызвать нужный метод этих классов?

  • @ЕвгенийЧернышов-б9и
    @ЕвгенийЧернышов-б9и 8 років тому +1

    Спасибо за доходчивое и понятное объяснение, всё стало понятно.
    Но есть вопрос, как дебажить такой код? Если при классическом варианте я поставлю бряку на цикл, то смогу поглядеть что происходит на каждой итерации с моими переменными, то при использовании лямбд и стримов как быть?

    • @iMaxBlazer
      @iMaxBlazer 8 років тому

      Не знаю как в других IDE, но при установке брейка на лямбда-строку Intellij IDEA спрашивает, на какую именно часть его повесить.