Лямбда-выражения в Java 8
Вставка
- Опубліковано 27 вер 2024
- Лямбда-выражения - одно из самых заметных нововведений Java версии 8. Они вносят в Java, который является объектно-ориентированным языком, некое функциональное звено. И в этом смысле lambda-выражения способны существенно облегчить жизнь разработчику. Рассмотрению этих вопросов и посвящен новый бесплатный вебинар учебного центра "Специалист" при МГТУ имени Баумана.
В ходе нашего урока по Java будут на конкретных примерах рассмотрены следующие проблемы:
- Использование анонимных классов;
- Функциональные интерфейсы Java 8;
- Лямбда-выражения и зачем они нужны;
- Агрегатные операции.
Мастер-класс ведет преподаватель по программированию с многолетним практическим опытом, сертифицированный тренер и обладатель 10 сертификаций Microsoft для разработчиков и программистов Сергей Юрьевич Шуйков.
Курсы Java в Центре "Специалист" при МГТУ имени Баумана - www.specialist....
Смотрите все видео по языку Java на нашем канале - • Java
Закажите курс в мобильном приложении и получите дополнительную скидку 10% -
www.specialist....
я думаю,что вполне уместно будет сказать, что данный урок по данной теме является лучшим уроком на русском языке,который можно найти в сети.долго я искал подходящего руководства по лямбдам и анонимным классам.просто бальзам на душу....спасибо!
присоединяюсь, от души!
Согласен, отличный урок!
📂Рабочий стол
└📂Избранное
└📂VideoTutorial
└📂Java
└📂Лучшее
└✇Лямбда-выражения_в_Java_8.avi
Точно. Видео про лямбды много. Но только здесь обьясняется суть, зачем именно нужны лябды.
Это бриллиант!!!
Сейчас 2022 год, Июнь месяц. В интернете множество курсов, туториалов, статей. Тем не менее данный урок по этой теме остается лучшим, который когда либо встречал. Спасибо учителю!
Огромная благодарность Сергею Шуйкову! настолько доходчивых объяснений в общем нетривиальных вещей я ещё не встречал.
по данной теме, лучше уже не будет и быть не может, уважение к таким людям - автору, как говорится: "что бы чему-то научиться - нужно быть усердным, а что бы поделиться знаниями этого мало, нужно быть благородным!"
Да, действительно лучшее объяснение по поводу анонимных классов и лямбда-выражений. 👍
Лучшее что я видел про лямбда выражения! Спасибо тысячу раз!
До сих пор очень полезное видео. Авто молодец
Человечище. Простым, доступным, элементарным языком объяснил. Все гуру в своих объяснениях разговаривают как 10классник с 1классником. Гуру не могут перейти на язык первоклассника. Как говорится, если коту не можешь объяснить, значит сам не до конца понимаешь. Автор, мне кажется, даже столбу смог донести. Как красиво переход сделал от анонимного класса к лямбдам.
Автору респект!!!
Хороший урок, особенно в конце Stream API доходчиво объяснены
Перед просмотром такого длинного ролика решил почитать комменты. Комменты меня подбодрили, ну чтож, начнём, а после окончания ролика дополню свой коммент
UPD: досмотрел, комментарии верны, это супер урок! Спасибо автору!
2023, актуально. Спасибо за урок
Разжевали тему на 10 баллов. Спасибо за урок!🤓
Это, пожалуй, лучшее, что я видел по этой теме. Описано все в достаточной мере понятно и интересно
Божественный урок. У меня вся информация которая была в голове в немного неудобоваримой форме просто стала на свои места. Спасибо ОГРОМНОЕ!!!!!!!
Спасибо за ваш отзыв, мы рады, что мастер-класс помог структурировать ваши знания)
Это насколько хорошее пояснение, что лучше не представляю!
Шикарное объяснение лямбда-выражений.
Спасибо большое за ваш отзыв)
Большое спасибо! Очень доходчиво. Наконец-то я понял, как это устроено.
Офигеннейший урок!
Насчет лямбд и стримов - не понимаю, как я вообще раньше жил без них
На одном дыхании просто. Умение объяснять дано не всем. Спасибо автору лекции большое! Не нашел больше видео от него :(
Просто класс! Учитывая то что изучаю азы явы, и в своем родном языке pascal никаких лямб не существует, этот урок понял от начала и до конца! Остается закрепить на практике, + удобство использования лямбд для обработки информации -шикарно! и наглядно. Автору СПАСИБО!!!
Очень крутой мужик. Разъяснил все на пальцах.
Ясно доходчиво и показывает суть лямбда выражений,спасибо!!!!!!!!!!!!!!!!!!!!!!!
Лучшее видео для начального понимания анонимных классов, лямбд, стриам апи и разницы в подходах декларативного и императивного подхода в программировании!
Ахринеть СПАСИБО !!! За такое хорошее объяснение. Все по полочкам
Такое ощущение, что автор все видео орет на тебя, но от этого и лучше понимается :)
Самое толковое по лямбдам и анонимным классам что я слышал на данный момент.
Спасибо за добрые слова) Будем и дальше стараться радовать полезным контентом наших слушателей!
Супер объяснение и ясно, откуда ноги растут. Сам учился у Сергея Шуйкова джаве в Специалисте в 2010 году, лучший препод - вопросов никогда не возникало во время объяснения материала и всегда хорошие примеры. Пример с выключателем - шаблон Наблюдатель (Observer). Java Code Convention действительно не в полном объеме выполняется, в частности скобка { должна начинаться в продолжении строки и тело операторов if также надо заключать в скобки {}, даже если это одна строчка, но последнее можно и опустить ради экономии пространства для лучшего понимания материала. В любом случае, объяснение просто идеальное. Спасибо Большое Сергею за урок!
Божественно объяснил! Спасибо от души.
Как же вы бодро рассказываете ! Прям не уснёшь )
Супер. Всё понятно, простым языком, бережно усложняя по мере повествования)
Очень круто, молорик, все в одном видео, ничего с головы не вылетает, отличный формат
Ну наконец-то я понял что это за зверь такой лямбда-выражения. Спасибо!
Спасибо большое Вам за такой урок! Наконец-то хоть кто-то приподнял завесу на Java 8.
Успехов в разработке:)
Спасибо за Ваш отзыв!
Отличный урок. Спасибо. Все понятно.
Автору благодарность ...супер!!!
Ааааааа ору, какое же классное видио, просто божественный преподаватель!!! Просто у меня возникает вопрос, и он через две секунды на него отвечает, тут же, как чувствует!!))) Дай бог здоровья тебе!
Однозначно +++++, это лучшее объяснение что я видел и слышал в нете!!!
Спасибо, очень понятно рассказано. Как раз то, что я искал!
Спасибо, просто замечательный урок
Пожалуйста, давайте еще подобных видео, очень все доходчиво.
Очень доступно объясняете. Отличный урок. Спасибо.
Большое Вам спасибо за отзыв, Антон!
Второй раз смотрю! Огромное спасибо.
еклмн.... когда шла 31-ая минута, начало казаться что автор путает лямбды с лампами :) но потом хорошо пошло
Абсолютно лучший урок
Шикарное видео, очень хорошо объясняет.
Спасибо за Ваш отзыв, Дарья!
Отличная лекция, спасибо!
Офигеть! Ощущение как будто понял почему бывает дождь. Сомневался стоит ли смотреть, так как все это уже делал, но только вот делал я это очень слабо понимая что происходит. Респект за работу!
Человек подотовился и очень хорошо всё обьяснил.
Огромное спасибо за этот урок!
Супер! Спасибо за материал!
Спасибо автору! Отличная подача материала!
Спасибо большое, очень хорошо разъяснена такая сложная тема!
Очень познавательно и доходчиво, спасибо!
Спасибо!!
Очень похоже на ecmascript6, где вместо function тоже используются символы =>
И благодаря методам stream код немного похож на NodeJS )
Спасибо так все доходчиво объяснили!!!!! Спасибо !!!
Огромное спасибо за материал.
Спасибо большое, вы лучшие)
Очень круто. Спасибо!
Очень удачная лекция
Лучший урок!Спасибо!
Мега круто! Спасибо!!!
Огромное спасибо вам!
Действительно, хороший видео урок, но я, все-таки, всем советую сначала прочитать теорию или статьи на тему лямбд, стримов и интерфейсов, охренеть от их непонятности, а уж потом смотреть видео. В такой последовательности вы сначала сформируете для себя представление о терминах, а так же накопите перечень вопросов на подобии "какого хрена разработчики джава тут имели ввиду?" и "так-то зачем сделали?", а уже во время просмотра видео получите для себя ответы на свои вопросы. Если в обратной последовательности изучать - придется делать паузы и читать теорию, либо несколько раз пересматривать непонятные участки видео для усвоения материала, что приведет к потере целостности картины взаимосвязанности функциональных интерфейсов, лябд и стримов.
Спасибо за ваш комментарий, Георгий, очень ценное замечание.
Вот правильно. Со своими лампами, радио забыл дать каноническое определение интерфейса и как оно работет. Такие уроки просто запутываеют. Я пока не почитал в книжке от этого урока сначала был восхищё, а потом понял что это видео каша какя-то.
@@SpecialistTV Добрый день. Сергей Юрьевич Шуйков, если Вам не сложно, можете дать ссылки на Ваши видео по Java. Недавно смотрел Ваше видео по лямбда выражениям, это просто шедевр, у Вас от Бог дар к обучению. Очень хочется Вас смотреть и по Вашим урокам изучать технологии.
Шикарно! Спасибо большое!
не.. когда видишь такое видео ты понимаешь как ты далек..... А именно от уровня этого препода. Без слов просто шикарно изложен материал и реально жалко. что мало видео больше ненашол в его исполнении!
Шикарный урок! Мало кто умеет объяснять так просто и доходчиво. Вот бы и по Generic'ам такой же урок!
Очень доходчиво. Большое спасибо.
Лучший.
Воу, Спасибо, очень сильно!
Спасибо автору.
спасибо за урок
Спасибо большое!
Спасибо!
Спасибо! Хороший урок
Классно поспала под урок))) тяжело мне джава даётся)
Супер!! Шикарная подача материала. А кто лектор?
Хорошее видео
супер
Добрый день. Сергей Юрьевич Шуйков, если Вам не сложно, можете дать ссылки на Ваши видео по Java. Недавно смотрел Ваше видео по лямбда выражениям, это просто шедевр, у Вас от Бог дар к обучению. Очень хочется Вас смотреть и по Вашим урокам изучать технологии.
Упомянул бы еще, что ты паттерн "Наблюдатель" применил
Лучше не бывает!!!!
Кто этот замечательный докладчик? Как зовут?
Thank You
Очень крутое видео! Раскрыта все последовательность переходов к лямбда, вся суть. Можно ли купить курс по Java с Шуйковым С.Ю. или он только очные курсы ведет?
Урок отличный, но имхо пример в начале с кнопкой не самый удачный, т.к. вызвать метод кнопки можно с помощью интерфейса, не прибегая к лямдам.
урок шикарный. Но меня все удивляет подход "с другой стороны" в программировании, в Java, в частности:
а почему выключатель должен узнавать о лампе? Почему не лампа должна интересоваться: включен ли выключатель?
Пусть спустя год, но вдруг кому пригодится.
Подход, когда лампа должна всегда опрашивать выключатель - включен он или нет - вызывает так называемый "busy wait". То есть лампа должна постоянно долбиться на выключатель и проверять включен он или выключен, а для этого тратятся ресурсы системы.
Спасибо за разъяснение.
.sorted можно было написать как:
.sorted(Comparator.comparing(Person::getName))
Подскажите, как это работает: есть метод "void fire(Object sender)" и мы его вызываем таким образом: "Main::fire", но где и каким образом происходит передача Object sender в параметры метода??
Интересно, я один в 2020м году учу java8 ? :)))
не один)
Видео конечно шикарное. Но кто нибудь может объяснить, как получается передать параметром на 41 минуте, статический метод, ведь метод addElectricityListener ждёт реализацию типа electricityСоnsumer, а в итоге передается просто статический метод fire. Как это получилось???
Здравствуйте. А как удалить объект (реализацию интерфейса) из коллекции, если добавлялся он в виде Лямбда выражения?
Classная лекция!
Интересно а через стрим фильтровать можно сразу с консоли считывать данные или только через арайлист?
Хороший видос. У докладчика коробочка варит!
Разве так можно ссылку с налом сравнивать? Вроде ж специальная функция должна быть или я с чем-то путаю типа oracle sql?)
вопрос про Стрим, конкретно про метод sorted:
.sorted(p1, p2) -> p1.getName().compareTo(p2.getName())
можно пояснить реализацию этого метода sorted? почему передается имеено два параметра, и откуда они берутся? ну вот p1 понятно, а вот что с p2?
the Best
Доя того, чтобы кнопка могла работать с методом, про который она ничего не знает, существует ооп. Кнопка должна работать с интерфейсом. Делай класс по интерфейсу. Ссылки не нужны.
Я не смотрел другие уроки по данной теме, но могу сказать лишь то что все равно ничего не понятно. Зачем городить интерфейс, потом имплементить его в каждлом класее, потом создавать список сылками на методы этих классов через цикл когда можно сразу в цикле вызвать нужный метод этих классов?
Спасибо за доходчивое и понятное объяснение, всё стало понятно.
Но есть вопрос, как дебажить такой код? Если при классическом варианте я поставлю бряку на цикл, то смогу поглядеть что происходит на каждой итерации с моими переменными, то при использовании лямбд и стримов как быть?
Не знаю как в других IDE, но при установке брейка на лямбда-строку Intellij IDEA спрашивает, на какую именно часть его повесить.