Урок 1. Что такое лямбда-выражения в Java?

Поділитися
Вставка
  • Опубліковано 30 лип 2019
  • Продолжение доступно на Patreon: / b0noi
    Дополнительный материал ниже ⇓
    ____
    Это начало серии видео, как дополнения к курсу java101 на Hexlet: ru.hexlet.io/courses/java_101
    Дополнительный материал по теме урока: docs.google.com/document/d/1o...
    Тестик по теме урока: drive.google.com/open?id=1Xv5...
    Наши ссылки:
    • Discord-чат академии: bit.ly/2K6XQQ2
    • VK - kovacademy
    • FB - / kovalevskyi
    • Twitter - / kovacademy
    • UA-cam - / kovalevskyiacademy
    • LinkedIn - / 5119016
    • Patreon - / b0noi
    • Web site - kovalevskyi.academy/

КОМЕНТАРІ • 85

  • @PieceOfInternet
    @PieceOfInternet 3 роки тому +40

    3:51 1)Думаю тут стоит уточнить. Не просто всего 1 метод, а именно всего 1 абстрактный метод. Для дефолтных и статических методов ограничений нет. То есть, в функциональном интерфейсе должен быть всего 1 абстрактный метод(!), и возможно также присутствие любого количества статических и дефолтных методов
    11:35 2) Уточню, не тип а и тип b, а переменные а и b типа int. К тому же в записи лямбда выражения ISum summer2 = (a,b)->a+b; в качестве аргументов не обязательно использовать a, b. Можно использовать любое слово и от этого значение выражения не изменится. Например ISum summer2 = (value1,value2)->value1+value2; Java сама понимает что у value1 и value2 будет тип данных int

  • @MrSts303
    @MrSts303 4 роки тому +10

    Рассказал как царь, за 10 минут - все понятно. Спасибо!

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

    Супер! Наконец-то, давно ждал!

  • @MrDelfics
    @MrDelfics 3 місяці тому +1

    Спасиб за эти видео, понял про функциональный интерфейс и как работает Лямбда, респект!

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

    Ну наконец-то понятное объяснение нашла) спасибо!

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

    Вячеслав, не забрасывайте это всё, пожалуйста. Ваша манера изложения материала - лучшее, что я встречал. Всем рекомендую Ваши курсы. Но Вы всё дальше и дальше забрасываете это дело, всё реже радуете((

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

    Наконец-то дождались

  • @konstantinr7632
    @konstantinr7632 4 роки тому +10

    Ждем Stream API. С меня лайк!

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

      На Патреоне уже вышли посты со ссылками на новые видео и текстовые материалы, тесты.

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

    Божественный урок. Чувствуется, что автор шарит.

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

    Автор очень крут, огромное спасибо

  • @user-sq5cr5uq8i
    @user-sq5cr5uq8i 3 роки тому +1

    Шикарные уроки!!!!!!!!!

  • @itanshepard.456
    @itanshepard.456 2 роки тому +4

    Когда увидел превью, то подумал что речь о Half life😁.

  • @anastasiasarycheva3918
    @anastasiasarycheva3918 4 роки тому +4

    Вячеслав, спасибо! Отличная тема и отличный урок! К сожалению, эту тему обычно обходят стороной на курсах и в книгах, а зря ))

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

      thank you:)!

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

      @@KovalevskyiAcademy а какое практическое применение может иметь лямбда выражение?

    • @user-iz7jr4yt1o
      @user-iz7jr4yt1o Рік тому

      @@kostyagusto5109 упрощение работы с коллекциями, массивами, сортировками и преобразованиями элементов и объектов, их сравнение, особенно объектов с компаратором, когда ты его в 1 строчку делаешь а не отдельно создаешь

  • @serronii
    @serronii 11 місяців тому

    Автор красавчик! Очень круто обьясняешь !

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

    Патреон забабахали , красавцы.

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

    Отличное изложение, каеф

  • @user-xz1gg6pb8o
    @user-xz1gg6pb8o 3 роки тому +8

    Half Life напомнило

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

    Perfecto!!!

  • @user-ls7wo3fl4u
    @user-ls7wo3fl4u 2 роки тому

    Здравствуйте. В этом видео сказано: под капотом в последних версиях Java создается анонимный класс. А в видео 3 показано, что запускается lambdafactory без создания байткода анонимного класса.

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

    Здравствуйте, подскажите пожалуйста что у вас за шрифт в идее

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

    Как же так. Функциональный интерфейс - это не тот, в котором один метод, в тот в котором один АБСТРАКТНЫЙ метод. А это уже совсем другое. Ведь есть еще дефолтные и static методы

  • @user-zx5sv2hb3u
    @user-zx5sv2hb3u 4 роки тому

    Какой шрифт использовался в данном видео?

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

      Courier New

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

      Глебушка вводит в заблуждение) Шрифт - FiraCode github.com/tonsky/FiraCode

  • @user-uu7zh8ir3z
    @user-uu7zh8ir3z 4 роки тому +4

    Па-па-па-пам, пейте кофе, учите джава =)

    • @ForYouNegative
      @ForYouNegative 4 роки тому +5

      Пейте джава, учите кофе

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

    Больше функциональщины - хорошей и разной!

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

      +1

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

      @@KovalevskyiAcademy С какой периодичностью будут выходить новые уроки?

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

      @@BCR1984 Do not know yet, but ~1 lesson per 1-2 weeks for the next 3 lessons

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

      Продолжение на Патреоне.

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

    У меня всегда возникает вопрос - зачем это нужно в Java? Все создавалось под определенные нужды. У каждого ЯП своя история создания и развития. Как следствие появились и парадигмы, как идеологии решения тех или иных задач. В последнее время у меня складывается впечатление, что еще и мода появилась. Ладно языки вроде JS, которые изначально не планировались как универсальные, но фанаты туда тянули все, что можно, чтобы не изучать другие языки. Но Java имеет иную историю.

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

      Это нужно в Java чтобы не создавать кучу однотипных методов , очень полезная штука, только тут этого не объяснили, могу порекомендовать один урок на эту тему

    • @user-iz7jr4yt1o
      @user-iz7jr4yt1o Рік тому

      Я надеюсь ты уже разобрался и кайфуешь от того, как лямбды жизнь упрощают и насколько меньше кода надо писать

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

      @@user-iz7jr4yt1o Я в этом разобрался ещё до того как оно в Java появилось. Работал с этим подходом в других языках. Место часто экономит, хотя, как по мне, не всегда удобочитаемо. Просто не хочется, чтобы Java стала заложником моды и тянула что-то только потому, что сейчас много кто так делает. Но благо пока с этим все более-менее нормально. Имплементации удобные.

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

    6:30 А как в Intellij настроить такую конверсию значка лямбда-оператора (->) в "настоящую" стрелку?
    ps: очень радует возобновлание этой серии, и вообще работы канала, изучал (и продолжаю) по Вашим урокам Java, нет ничего лучше на ру.ютубе

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

      В Intellij: Settings > Editor > Font > Вставите галочку в Enable font ligatures > В списке Font выбираете Fira Code > Дерзайте ;-)

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

      @@umaralikhon Да, спасибо. С тех пор как задал вопрос, давно уже разобрался. Только я использую лигатуры с jet brains mono.

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

    Где видосы? Давайте что-нибудь об ML

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

    Лямбда - это Гордон держит монтировку

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

    Сначала надо объяснять нахера это надо, а уже потом - как оно работает.

  • @user-qz1hd4xp1p
    @user-qz1hd4xp1p 2 роки тому

    что такое функциональный истанс?

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

    10:20 но ведь тип будет не ISun, а тип класса в котором вызвана

  • @user-ic7nx5em1r
    @user-ic7nx5em1r 3 роки тому +1

    I like programming

  • @ertijla1120
    @ertijla1120 4 роки тому +11

    Лямбда означает half life

    • @user-bhmsbinary
      @user-bhmsbinary Рік тому

      Всм?

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

      Это рисунок на спартанском щите

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

    За Фрименом

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

      Руки в ноги, монтировку в зад :>

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

    Это крч просто синтаксический сахар как я понял

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

    HALF-LIFE: JAVA

    • @user-jw2ie7ud8m
      @user-jw2ie7ud8m 3 роки тому

      Халф лайф на джаве... А если без рофлов, то это реально интересная задумка

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

      @@user-jw2ie7ud8m Интересно... Если оригинальный движок первой халфы ( GoldSource ) написать на джаве то во сколько раз он будет весить больше оригинала (: И на сколько больше он будет тормрзить (:

    • @user-jw2ie7ud8m
      @user-jw2ie7ud8m 3 роки тому

      @@farkhodpulatov6366 хех, если хорошенько оптимизировать, то будет лагать даже чутка меньше чем в майне (наверное)

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

      @@user-jw2ie7ud8m Вроде адаптация GoldSource под телефоны Xash3D (Она очень популярна) написана на Яве... Наверное...

    • @user-jw2ie7ud8m
      @user-jw2ie7ud8m 3 роки тому

      @@farkhodpulatov6366 хз

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

    урок 1 - лямбды? странно

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

    404 like

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

    Интуитивно же понятно как лямбда работает.
    В js функция это тип данных, и в функцию в качестве аргумента можно подать функцию. А в java такой фокус не прокатывает. Поэтому можно юзать лямбду. Хотя в js тоже есть аналог лямбд - стрелочные функции, но они решают другие проблемы.
    П.С. я не программист, не ругайтесь если что.

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

    халф лайф привет

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

    Half life

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

    Зачем дважды писать а+б? В анонимном классе ведь это уже прописано. И так и не понял на кой хрен все это нужно

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

    Есть еще люди которые вообще пишут на java? O_o

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

      a lot; popularity of technology in a particular year != of how many engineers still using it

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

      @@KovalevskyiAcademy 😁