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

Sdílet
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

Komentáře • 77

  • @vitaliioman2154
    @vitaliioman2154 Před 18 dny

    За первые 6 минут разобрался. С удовольствием досмотрел. Очень понятно обьяснил. Спасибо!

  • @Youtooobo
    @Youtooobo Před 6 měsíci +3

    Если честно, пересмотрел тонну роликов про лямбда выражения, но пока не нашел нужного формата для себя. Не понятна структура и логика этих выражений.
    Автору спасибо, любое видео это труд. Но я вновь пошел искать и разбираться. Возможно, когда разберусь, запишу свое видео)

  • @Irina-cw4lw
    @Irina-cw4lw Před rokem +4

    Сергей, с лямбдами давно работаю, но много нового для себя открыла. Огромное спасибо! У вас талант 😎.

  • @justDimoon
    @justDimoon Před 2 lety +3

    Большое спасибо, эти 20 минут прошли почти незаметно, очень интересно. Удачи)

  • @user-ms9hj7rf1b
    @user-ms9hj7rf1b Před 4 měsíci

    Как же приятно учиться у по настоящему знающего человека.

  • @user-yt6vv9vf3x
    @user-yt6vv9vf3x Před 2 lety +3

    Пригодилось) нравится твоя форма подачи материала с примерами.
    в функциональном программировании, функции граждане первого сорта.

  • @pokruk0
    @pokruk0 Před rokem +3

    Как же наглядно и понятно, я очень редко восхищаюсь хоть какими-то видосами-туториалами, но все ваши видео которые я видел просто превосходные

  • @ivanvans9487
    @ivanvans9487 Před 2 lety +5

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

  • @itmaker1821
    @itmaker1821 Před rokem +1

    Автор молодец, очень понятно и доступно объястняет. Я хоть и не новичок и уже работаю в сфере, но было приятно послушать 👍

  • @user-uk4ww6ln7q
    @user-uk4ww6ln7q Před rokem +2

    У вас лучшие уроки ! Обьясняете саму суть) очень доходчиво! Спасибо

  • @yushchenkoalexey
    @yushchenkoalexey Před 2 lety

    Большое спасибо за разбор с живыми примерами.

  • @user-xc8dn1wz7t
    @user-xc8dn1wz7t Před 5 měsíci +1

    Спасибо, дай бог здоровья!

  • @muhammedergeshov226
    @muhammedergeshov226 Před rokem +1

    очень приятно слушать, и понятно обясняете, спасибо

  • @enhort
    @enhort Před rokem +1

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

  • @Cat_in_boots
    @Cat_in_boots Před rokem +2

    Отличное видео. Добавлю, что на 14:43 для параллельного вычисления необходимо в обязательном порядке вызвать метод parallel(), иначе 3-й параметр перегруженного метода U reduce(U identity, BiFunction accumulator, BinaryOperator combiner) не будет работать. Параметр combiner работает только с параллельными стримами.

  • @serhiihoncharenko4501
    @serhiihoncharenko4501 Před 2 lety

    Огромнейшая благодарочка;)

  • @GenesizANT
    @GenesizANT Před 2 lety

    Огромное спасибо! Продолжайте ;-)

  • @musiclife2641
    @musiclife2641 Před 2 lety +1

    Огромное спасибо Сергей!!! Жаль ролик вышел после моего собеседования)))))

  • @shaporen8114
    @shaporen8114 Před 4 měsíci

    Подача материала шикарная! 👍

  • @user-zn6tw1jq1o
    @user-zn6tw1jq1o Před rokem

    Да за такие уроки памятник ставить надо! :)

  • @molva83
    @molva83 Před 2 lety +6

    Спасибо, добрый человек. Очень доходчиво. А про maven расскажи, пожалуйста. Я пока не до конца понимаю его прелесть, да и совсем, чесно говоря не понимаю эту «стстему сборки».

  • @ascar66
    @ascar66 Před 2 lety

    Спасибо за видео

  • @user-cg4ly2ey6p
    @user-cg4ly2ey6p Před rokem

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

  • @aWeex
    @aWeex Před rokem

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

  • @demolearning267
    @demolearning267 Před 11 měsíci

    очень очень хорошо объяснено !!!

  • @auratarus
    @auratarus Před 2 lety

    Спасибо!

  • @user-ru4bk7qe3s
    @user-ru4bk7qe3s Před rokem

    Спасибо большое! Не всё понял, но понял больше.. )

  • @user-gn6fv5kl6r
    @user-gn6fv5kl6r Před rokem +1

    Здравствуйте! Одни из лучших уроки! Просьба , не могли бы вы рассказать про монады на Java c примерами. Спасибо.

    • @arhitutorials
      @arhitutorials  Před rokem +1

      Здравствуйте, да уже занимаюсь этой темой, скоро будет обзор с примерами.

  • @user-bv3lb1ui6d
    @user-bv3lb1ui6d Před rokem +1

    Спасибо за труд) Ролики просто пушка!
    Можно пример кода, где лямбда быстрее цикла (замерю даже)?
    Единственное, что я находил быстрее цикла это был свич. В моём примере 12 месяцев и иф/элс с тернаркой. Проигрыш на большой выборке (сотня миллионов) была около 0,2% - 0,3%.
    Литкод открыть, там все лучшие решения на циклах. Была бы лямбда быстрее, писали бы на лямбде.
    п.с. я вообще думаю, что лямбда сольёт в скорости циклу.
    ппс. любое решение на стриме сразу на дно по скорости, тут вообще без вариков. Единственное, в дабле можно более точные вычисления делать.....но опять же, нужна супер точно, то это бигДецимал.

  • @user-vs2pz5bi7n
    @user-vs2pz5bi7n Před 2 lety +1

    Влюбилась

  • @Art-ub1sg
    @Art-ub1sg Před 10 měsíci

    Спаисбо

  • @user-zc5qx3zu7l
    @user-zc5qx3zu7l Před rokem

    как будто видео не совсем для новичков, но мне все понятно

  • @SergioUkrAr
    @SergioUkrAr Před 2 lety +1

    Большое спасибо, я вижу что лямда вырожения очень похожи на java script вырожения () => {} , array.filter(e => e.id !== id), и в rxjs тоже из использывают, интересно в rxjs
    array.pipe(
    filter()
    map()
    ) для мовификации даннх а в java stream()

  • @Trecoolerok
    @Trecoolerok Před 2 lety +2

    Ещё лямбды (non-capturing) кэшируются. Поэтому это не совсем анонимный класс.

  • @gadjik_youtube
    @gadjik_youtube Před rokem

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

  • @alekseyshibayev5243
    @alekseyshibayev5243 Před 10 měsíci

    А вот и нет, forEach создаст на каждый елемент new Cosumer, а это такты и память. Можешь проверить юнит тестом. Классический итератор быстрее и дешевле. Это может быть важно, когда у тебя пет проект на orangePi крутится. Спасибо за контент. ;)

  • @user-di8zw7yu1b
    @user-di8zw7yu1b Před rokem

    👍👍👍👍👍

  • @gera.v.v
    @gera.v.v Před rokem

    В котлине если методтчерез inline объявить то даже не будет создаваться объект этого интерфейса создаваться, чтоб у него вызвать этот метод. Круто.

  • @user-ix7lb1sx4k
    @user-ix7lb1sx4k Před 2 lety +1

    Здравствуйте. У ваших уроков есть исходный код в текстовом виде?

  • @ascar66
    @ascar66 Před 2 lety +1

    Отправил 100 рублей ))) надеюсь помогут в создании контента )))

    • @arhitutorials
      @arhitutorials  Před 2 lety +3

      Получил.
      А что тут такого? Нормальная мотивация развивать канал, работать над качеством и т.д.

  • @TonySup
    @TonySup Před 10 měsíci

    Благодарю за видео!
    хочу спросить профессионала!
    Когда у тебя 5 вложений в какой-то проверки не является ли это сигналом к упрощению кода?)

    • @arhitutorials
      @arhitutorials  Před 10 měsíci

      Когда перестаешь понимать, что делает код - это самый верный сигнал к упрощению)

  • @user-jd4rl7im6d
    @user-jd4rl7im6d Před rokem

    Но ведь запись for (Client client: clients) она тоже означает перебор всех элементов коллекции и это понятно любому программисту, кто взглянет на эту строку, ведь раньше этот цикл и назывался for each. Поэтому преимущество какое-то странное)))

  • @linargal7842
    @linargal7842 Před 2 lety

    давно не могу решить проблему outOfMemoryException: "gc overhead limit exceeded". Ну это так, вдруг решите снять видео)))

  • @fernandaeschallots2485

    ХОЧУ научиться писать как ты!

  • @romawar1869
    @romawar1869 Před 2 lety +1

    граждане первого сорта )))) хахах , весьма резкое и опасное выражение , но как же это верно

  • @user-dx6zd2fk8s
    @user-dx6zd2fk8s Před rokem

    Такой вопрос. Почему слева ArrayList указан в качестве типа переменной, а не List?

  • @romawar1869
    @romawar1869 Před 2 lety

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

    • @romawar1869
      @romawar1869 Před 2 lety

      а еще не понятно как часто и где можно будет задавать вопросы взяв синер спонсора, да :)

    • @arhitutorials
      @arhitutorials  Před 2 lety

      Могу предположить, что это связано с темой на устройстве. Чтоб такого не было надо использовать тему из AppCompat. Ну или сделать свою тему, унаследованную от дефолтной и задать в ней нужные параметры.
      То что фон черный - это включенная dark тема на устройстве.
      Сегодня ничего не выйдет, есть небольшое видео, но оно еще монтируется, сегодня скорее всего не успею.
      У меня нет жесткого графика. Публикую очередное видео, начинаю следующее, как будет готово, так и выпускаю. Иногда бывает много свободного времени, а иногда его нет, по этому я сам не в состоянии предсказать, когда выйдет очередное видео)

    • @arhitutorials
      @arhitutorials  Před 2 lety

      @@romawar1869 Я там указал свой личный телеграм для вопросов.
      Сейчас все еще ни одного спонсора нет, по этому можно сделать вывод, что сообществу эта идея не зашла.

    • @romawar1869
      @romawar1869 Před 2 lety

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

    • @arhitutorials
      @arhitutorials  Před 2 lety +2

      @@romawar1869 Мне просто пару человек написали, спрашивали, почему нет кнопки "спонсировать", мол мы бы ваше дело поддержали. Ну я и сделал кнопку)
      Если тебе никто не платит, в этом есть и плюсы. Ты никому не обязан, можешь делать, что хочешь. Твое увлечение не превращается в работу, в обязаловку. И это хорошо, потому что обязаловка - это враг любого творчества.

  • @jeoparrdy
    @jeoparrdy Před rokem +1

    Лямбда не реализует анонимный класс, как на 5:54. Если открыть скомпилированный байткод, то можна увидеть, что это не что иное как анонимная функция.

  • @EdwardNorthwind
    @EdwardNorthwind Před rokem

    Лямды крутая штука, но тут нужно знатно так переформатировать способ своего мышления.
    А еще какого *** обернутые в try лямбы игнорируют это и требуют оборачивать вызовы в теле лямбды?

  • @user-mt2if1ht8n
    @user-mt2if1ht8n Před 2 lety

    видосики для фана перед сном
    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 для профессионалов

    • @Trecoolerok
      @Trecoolerok Před 2 lety

      Список книг хорош, про альтернативный перевод не знал

  • @burningass5516
    @burningass5516 Před rokem +1

    12.9 тысяч человек хочет разобраться в лямбдах.

  • @user-lf3yj5zb2r
    @user-lf3yj5zb2r Před rokem

    Бла, мужик, ты молоток, ну серьезно. Я только начал, 80 % не понял, готовлюсь к экзамену Java OCP 11. Материал излагаешь хорошо. Каждая женщина должна хотеть иметь детей от таких мужиков как ты.

  • @kuplumozga
    @kuplumozga Před 2 lety

    forEach под капотом это абсолютно тот же самый цикл, только еще с проверкой на null... с чего он быстрее?

    • @arhitutorials
      @arhitutorials  Před 2 lety

      В реализацию не смотрел. Я сталкивался с тем, что removeIf, работает быстрее, чем цикл с удалением через итератор. Предположил, что для некоторых коллекций foreach тоже мог бы быть быстрее цикла. Могу ошибаться.

    • @arhitutorials
      @arhitutorials  Před 2 lety +2

      Посмотрел исходники ArrayList. В методе forEach, в отличие от for, итератор не создается, идет проход непосредственно по внутреннему массиву.

  • @viktorviktor3086
    @viktorviktor3086 Před 2 lety

    Лямбда и Колбек это одно и тоже ???

  • @karlvareze8337
    @karlvareze8337 Před 2 lety

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

  • @user-nu4yi5nr8v
    @user-nu4yi5nr8v Před 2 lety

    Хмм, как насчёт следующим видео сделать 3д движок или псевдо 3д? я не имею ввиду полноценный движок а хотя-бы основы. конечно это мало подходит под тематику, но почему бы и нет? а можно и Ray tracing обойтись

  • @Rzevsky
    @Rzevsky Před 2 měsíci

    Очень интересно, но ни хуя не понятно. Пойду искать попроще объяснятеля 😂

    • @Rzevsky
      @Rzevsky Před 2 měsíci

      14:25 После того, как я уловил суть лямбды у другого ютьюбера (там, в целом, не сложно) - решил заглянуть назад и сравнить. Фраза "просто обычное сложение" - после вброса стримов, добила меня окончательно 🤣.

  • @user-bn9wc8db6s
    @user-bn9wc8db6s Před 2 lety

    Очень интересно, но первый раз смотрю и вообще ничего не понятно!!!

  • @AK-nb9cb
    @AK-nb9cb Před 7 měsíci

    это не для новичков. плохо понятно

  • @chessclub92
    @chessclub92 Před rokem

    а разве можно после new ActionListener( ) вставит фигурные скобки, что это такое ?

  • @OpenFrimeTVcom
    @OpenFrimeTVcom Před rokem

    подскажите что за программа в которой вы работаете?