Java. Лямбда-выражения.
Vložit
- čas přidán 10. 02. 2022
- В этом видео я рассказываю о том, что такое лямбда-выражения в языке программирования Java. На примерах показываю, для чего нужны лябды, и какую роль они играют при написании кода в функциональном стиле.
Стать спонсором канала:
/ @arhitutorials
Поддержать канал💰:
Рублями:
yoomoney.ru/to/410018856244871
Гривной: 5457 0822 7391 6895
privatbank.ua/ru/sendmoney
Группа в Telegram:
t.me/ArhiTutorials
#ArhiTutorialsJava #ityoutubersru
За первые 6 минут разобрался. С удовольствием досмотрел. Очень понятно обьяснил. Спасибо!
Если честно, пересмотрел тонну роликов про лямбда выражения, но пока не нашел нужного формата для себя. Не понятна структура и логика этих выражений.
Автору спасибо, любое видео это труд. Но я вновь пошел искать и разбираться. Возможно, когда разберусь, запишу свое видео)
Сергей, с лямбдами давно работаю, но много нового для себя открыла. Огромное спасибо! У вас талант 😎.
Большое спасибо, эти 20 минут прошли почти незаметно, очень интересно. Удачи)
Как же приятно учиться у по настоящему знающего человека.
Пригодилось) нравится твоя форма подачи материала с примерами.
в функциональном программировании, функции граждане первого сорта.
Как же наглядно и понятно, я очень редко восхищаюсь хоть какими-то видосами-туториалами, но все ваши видео которые я видел просто превосходные
Сергей, огромное спасибо за Ваши труды! Очень помогли при подготовке к собеседованиям в прошлом году
Автор молодец, очень понятно и доступно объястняет. Я хоть и не новичок и уже работаю в сфере, но было приятно послушать 👍
У вас лучшие уроки ! Обьясняете саму суть) очень доходчиво! Спасибо
Большое спасибо за разбор с живыми примерами.
Спасибо, дай бог здоровья!
очень приятно слушать, и понятно обясняете, спасибо
Спасибо, хорошо объяснили, тема мне знакома но я с удовольствием освежил знания!
Отличное видео. Добавлю, что на 14:43 для параллельного вычисления необходимо в обязательном порядке вызвать метод parallel(), иначе 3-й параметр перегруженного метода U reduce(U identity, BiFunction accumulator, BinaryOperator combiner) не будет работать. Параметр combiner работает только с параллельными стримами.
Огромнейшая благодарочка;)
Огромное спасибо! Продолжайте ;-)
Огромное спасибо Сергей!!! Жаль ролик вышел после моего собеседования)))))
Подача материала шикарная! 👍
Да за такие уроки памятник ставить надо! :)
Спасибо, добрый человек. Очень доходчиво. А про maven расскажи, пожалуйста. Я пока не до конца понимаю его прелесть, да и совсем, чесно говоря не понимаю эту «стстему сборки».
++
Спасибо за видео
класный видос )хорошо рассказываешь . тебя приятно смотреть )
Очень хорошая подача материала и довольно доступно подано, на мой взгял, как новичка)
очень очень хорошо объяснено !!!
Спасибо!
Спасибо большое! Не всё понял, но понял больше.. )
Здравствуйте! Одни из лучших уроки! Просьба , не могли бы вы рассказать про монады на Java c примерами. Спасибо.
Здравствуйте, да уже занимаюсь этой темой, скоро будет обзор с примерами.
Спасибо за труд) Ролики просто пушка!
Можно пример кода, где лямбда быстрее цикла (замерю даже)?
Единственное, что я находил быстрее цикла это был свич. В моём примере 12 месяцев и иф/элс с тернаркой. Проигрыш на большой выборке (сотня миллионов) была около 0,2% - 0,3%.
Литкод открыть, там все лучшие решения на циклах. Была бы лямбда быстрее, писали бы на лямбде.
п.с. я вообще думаю, что лямбда сольёт в скорости циклу.
ппс. любое решение на стриме сразу на дно по скорости, тут вообще без вариков. Единственное, в дабле можно более точные вычисления делать.....но опять же, нужна супер точно, то это бигДецимал.
Влюбилась
Спаисбо
как будто видео не совсем для новичков, но мне все понятно
Большое спасибо, я вижу что лямда вырожения очень похожи на java script вырожения () => {} , array.filter(e => e.id !== id), и в rxjs тоже из использывают, интересно в rxjs
array.pipe(
filter()
map()
) для мовификации даннх а в java stream()
Ещё лямбды (non-capturing) кэшируются. Поэтому это не совсем анонимный класс.
спасибо ! видимо мне не хватает знаний для понятия материала с лямбдами, примеры для меня пока сложные
А вот и нет, forEach создаст на каждый елемент new Cosumer, а это такты и память. Можешь проверить юнит тестом. Классический итератор быстрее и дешевле. Это может быть важно, когда у тебя пет проект на orangePi крутится. Спасибо за контент. ;)
👍👍👍👍👍
В котлине если методтчерез inline объявить то даже не будет создаваться объект этого интерфейса создаваться, чтоб у него вызвать этот метод. Круто.
Здравствуйте. У ваших уроков есть исходный код в текстовом виде?
Отправил 100 рублей ))) надеюсь помогут в создании контента )))
Получил.
А что тут такого? Нормальная мотивация развивать канал, работать над качеством и т.д.
Благодарю за видео!
хочу спросить профессионала!
Когда у тебя 5 вложений в какой-то проверки не является ли это сигналом к упрощению кода?)
Когда перестаешь понимать, что делает код - это самый верный сигнал к упрощению)
Но ведь запись for (Client client: clients) она тоже означает перебор всех элементов коллекции и это понятно любому программисту, кто взглянет на эту строку, ведь раньше этот цикл и назывался for each. Поэтому преимущество какое-то странное)))
давно не могу решить проблему outOfMemoryException: "gc overhead limit exceeded". Ну это так, вдруг решите снять видео)))
ХОЧУ научиться писать как ты!
граждане первого сорта )))) хахах , весьма резкое и опасное выражение , но как же это верно
Такой вопрос. Почему слева ArrayList указан в качестве типа переменной, а не List?
получается сегодня выйдет либо след видео либо стрим , жду с нетерпением
почему в эмуляторе от идешки приложение выглядит как я хочу , а установив его на физ устройство я вижу совсем другую картину , например лишний лэйбл , или фон черного цвета , а еще верхнюю статус панель :(
а еще не понятно как часто и где можно будет задавать вопросы взяв синер спонсора, да :)
Могу предположить, что это связано с темой на устройстве. Чтоб такого не было надо использовать тему из AppCompat. Ну или сделать свою тему, унаследованную от дефолтной и задать в ней нужные параметры.
То что фон черный - это включенная dark тема на устройстве.
Сегодня ничего не выйдет, есть небольшое видео, но оно еще монтируется, сегодня скорее всего не успею.
У меня нет жесткого графика. Публикую очередное видео, начинаю следующее, как будет готово, так и выпускаю. Иногда бывает много свободного времени, а иногда его нет, по этому я сам не в состоянии предсказать, когда выйдет очередное видео)
@@romawar1869 Я там указал свой личный телеграм для вопросов.
Сейчас все еще ни одного спонсора нет, по этому можно сделать вывод, что сообществу эта идея не зашла.
@@arhitutorials несколько раз я начинал писать это сообщение , и каждый раз все разное
хочется написать красиво , с глубоким смыслом , что бы потом читать было приятно , но суть в том что "жаба душит" платить деньги за то что получить можно бесплатно , каналов полчища и донатить каждому ни хватит зарплаты , но дорога возникает под ногами идущего .
@@romawar1869 Мне просто пару человек написали, спрашивали, почему нет кнопки "спонсировать", мол мы бы ваше дело поддержали. Ну я и сделал кнопку)
Если тебе никто не платит, в этом есть и плюсы. Ты никому не обязан, можешь делать, что хочешь. Твое увлечение не превращается в работу, в обязаловку. И это хорошо, потому что обязаловка - это враг любого творчества.
Лямбда не реализует анонимный класс, как на 5:54. Если открыть скомпилированный байткод, то можна увидеть, что это не что иное как анонимная функция.
Лямды крутая штука, но тут нужно знатно так переформатировать способ своего мышления.
А еще какого *** обернутые в try лямбы игнорируют это и требуют оборачивать вызовы в теле лямбды?
видосики для фана перед сном
czcams.com/video/e4MT_OguDKg/video.html - все его ролики по java 8
czcams.com/video/c3RVW3KGIIE/video.html - устройство hashMap
czcams.com/video/3c-iBn73dDE/video.html про Docker
книги для начала (читать по 2 раза)
про java - java основы (Хорстманн)
про лямда и тд - Современный язык Java (Manning) (в частности здесь расписано, что лямда != анонимный класс (при компиляции не создается класс файл))
про потоки - java concurrency на практике (+ есть альтернативный перевод в инете (Параллельное программирование в JAVA на практике) - первые пол книги лучше читать его, иначе тяжко)
про RxJava - Реактивное программирование с применением RxJava (O'Reilly)
про spring - Spring 5 для профессионалов
Список книг хорош, про альтернативный перевод не знал
12.9 тысяч человек хочет разобраться в лямбдах.
Бла, мужик, ты молоток, ну серьезно. Я только начал, 80 % не понял, готовлюсь к экзамену Java OCP 11. Материал излагаешь хорошо. Каждая женщина должна хотеть иметь детей от таких мужиков как ты.
forEach под капотом это абсолютно тот же самый цикл, только еще с проверкой на null... с чего он быстрее?
В реализацию не смотрел. Я сталкивался с тем, что removeIf, работает быстрее, чем цикл с удалением через итератор. Предположил, что для некоторых коллекций foreach тоже мог бы быть быстрее цикла. Могу ошибаться.
Посмотрел исходники ArrayList. В методе forEach, в отличие от for, итератор не создается, идет проход непосредственно по внутреннему массиву.
Лямбда и Колбек это одно и тоже ???
хотели взять лучшее, а получилось как всегда. смотреть на помесь ооп и функциональщины больно физически
Хмм, как насчёт следующим видео сделать 3д движок или псевдо 3д? я не имею ввиду полноценный движок а хотя-бы основы. конечно это мало подходит под тематику, но почему бы и нет? а можно и Ray tracing обойтись
Очень интересно, но ни хуя не понятно. Пойду искать попроще объяснятеля 😂
14:25 После того, как я уловил суть лямбды у другого ютьюбера (там, в целом, не сложно) - решил заглянуть назад и сравнить. Фраза "просто обычное сложение" - после вброса стримов, добила меня окончательно 🤣.
Очень интересно, но первый раз смотрю и вообще ничего не понятно!!!
это не для новичков. плохо понятно
а разве можно после new ActionListener( ) вставит фигурные скобки, что это такое ?
подскажите что за программа в которой вы работаете?
Idea IDE