Java lambda λ

Поділитися
Вставка
  • Опубліковано 27 гру 2024

КОМЕНТАРІ • 125

  • @BroCodez
    @BroCodez  4 роки тому +56

    /**************************************************************************************
    @FunctionalInterface
    public interface MyInterface {
    public void message(String name,char symbol);
    }
    //********************************* Example 1 ****************************************
    public class Main {
    public static void main(String[] args) {

    /* lambda expression = feature for Java 8 and above
    * also known as an anonymous method
    * a shorter way to write anonymous classes with only one method
    *
    * need to use a functional interface or use a pre-defined functional interface
    * they contain only one abstract method
    * ex. ActionListener, Runnable, (user-defined)
    *
    * A Lambda expression can be used in any place where a functional interface is required
    * How to use a lambda expression:
    * (arguments) -> {statement/s}
    */

    String name = "Bro";
    char symbol = '!';

    MyInterface myInterface = (x,y) -> {
    System.out.println("Heello World!");
    System.out.println("It is a nice day "+x+y);
    };

    MyInterface myInterface2 = (x,y) -> {
    System.out.println("Hello "+x+y);
    };

    myInterface.message(name,symbol);
    myInterface2.message(name,symbol);

    }
    }
    //********************************* Example 2 ****************************************
    public class Main {
    public static void main(String[] args) {

    MyFrame myFrame = new MyFrame();
    }
    }
    //**************************************************************************************
    import java.awt.event.*;
    import javax.swing.*;
    public class MyFrame extends JFrame{
    JButton myButton = new JButton("MY BUTTON 1");
    JButton myButton2 = new JButton("MY BUTTON 2");

    MyFrame(){

    myButton.setBounds(100, 100, 200, 100);
    myButton.addActionListener(

    (e) -> System.out.println("This is the first button")

    );

    myButton2.setBounds(100, 200, 200, 100);
    myButton2.addActionListener(

    (e) -> System.out.println("This is the second button")

    );

    this.add(myButton);
    this.add(myButton2);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(420, 420);
    this.setLayout(null);
    this.setVisible(true);
    }
    }
    //**************************************************************************************

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

      Practicing...
      First example
      public class Main
      {
      public static void main (String[]args)
      {
      String name = "Glamorous Coder";
      char symbol = '!';
      MyInterface myInterface = (x, y)->{
      System.out.println ("Welcome back!");
      System.out.println ("It's a beautiful day " + x + y);
      };
      MyInterface myInterface2 = (x, y)->{
      System.out.println ("Welcome " + x + y);
      };
      myInterface2.message (name, symbol);
      }
      }
      *********************
      @ FunctionalInterface public interface MyInterface
      {
      public void message (String name, char symbol);
      }
      ____________________________________
      Second Example
      public class Main
      {
      public static void main (String[]args)
      {
      /*String name = "Glamorous Coder";
      char symbol = '!';
      MyInterface myInterface = (x, y)->{
      System.out.println ("Welcome back!");
      System.out.println ("It's a beautiful day " + x + y);
      };
      MyInterface myInterface2 = (x, y)->{
      System.out.println ("Welcome " + x + y);
      };
      myInterface2.message (name, symbol);
      */
      MyFrame myFrame = new MyFrame();
      }
      }
      *******************************
      import java.awt.event.ActionEvent;
      import java.awt.event.ActionListener;
      import javax.swing.JButton;
      import javax.swing.JFrame;
      public class MyFrame extends JFrame{
      JButton myButton= new JButton("BUTTON 1");
      JButton myButton2 = new JButton("BUTTON 2");
      MyFrame(){
      myButton.setBounds(150,150,150,150);
      myButton.addActionListener(
      (e) -> System.out.println("Click button 1.")
      );
      myButton2.setBounds(150,150,150,150);
      myButton2.addActionListener(
      (e) -> System.out.println("Click button 2.")
      );

      this.add(myButton);
      this.add(myButton2);
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      this.setSize(380,380);
      this.setLayout(null);
      this.setVisible(true);
      }
      }

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

      bro

  • @ChewySmooth
    @ChewySmooth 3 роки тому +85

    Bro, you are going to be the reason that i sort my life out and learn java properly finally. Thank you ❤

    • @damonlang1185
      @damonlang1185 2 роки тому +3

      hey bro how you going with everything?

    • @ChazWinter
      @ChazWinter Рік тому +9

      True story. I started learning Java in September 2022 (14 months ago) with BroCode's 12 hour course (only did the first half), and then learned how to solve LeetCode problems with the 4 hour Data Structures video.
      I was accepted into Amazon Technical Academy, a program for upskilling Amazon employees with no coding experience to Software Engineering roles, in May 2023 (6 months ago).
      I was a 36 year old making $11 an hour 4 years ago, and now I'm on my way to being a Software Engineer. Bro literally sorted my life out.

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

      @damonlang1185 not good ☹️

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

      @@ChazWinter well done bro, that's bloody good going!!!! Congrats man!! I wish I could say the same :/

    • @djaesir
      @djaesir 5 місяців тому +1

      @@ChewySmoothI know I’m just some random dude on the internet but I hope you succeed man. Sometimes it’s not a bad idea to take a break to put your life together first. You will prevail, this is not an easy skill to build. Consistency and optimism are key.

  • @mikhailreshetnikov3236
    @mikhailreshetnikov3236 3 роки тому +22

    I tried several manuals on lambda functions in java, it gets complicated quickly.
    You, on the other hand, keep it simple, care to explain things like "usually we would code like that", care to provide example with user-defined functions (so it's understandable even for those who haven't used ActionListener before), etc.
    You've taught me a thing, thank you very much, Bro.

  • @sheikhnaved1933
    @sheikhnaved1933 3 роки тому +5

    Best java series in the whole youtube.. thanku for providing this course for free.

  • @kaiiemsawat3859
    @kaiiemsawat3859 2 роки тому +5

    A lot easier to understand than most (if not all) of other lambda videos!!! As always, you rock!!!!!

  • @ReBufff
    @ReBufff 3 роки тому +7

    I love this, so much more elegant for actionListeners than making a long if-else statement or switch

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

    Finally someone who can explain Lambda without causing a headache. Thank u Bro!

  • @richardtriance5207
    @richardtriance5207 11 місяців тому +2

    Thanks so much Bro!, Your explanation of Lambdas is much easier to understand than that other youtuber dude with da bald head, that keeps saying: "Meoow!".

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

    This was really helpful for me. I am learning lambda expressions and you thoroughly covered a wide section on its uses. Thank you,

  • @yadigaryusifov1279
    @yadigaryusifov1279 3 роки тому +9

    Bro, firstly, I am really grateful for the video that helped me to grasp this topic clearly. Furthermore, I found the explanations and sample codes so benefical. The only thing that I am sad about is that I discovered your channel a bit late. Thanks again for the video bro!

  • @amarboparai4159
    @amarboparai4159 2 роки тому +3

    The button initially said "MY BUTT..."

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

    Yeah, I looked at another tutorial first and I did not understand anything.
    And then you came along and explained it in a much better way!
    Like someone else pointed out, it was really useful that you showed how the anonymous inner class that we are replacing would have looked!
    That really makes it a lot easier to understand what is going on! =)

  • @hau8541
    @hau8541 3 роки тому +2

    Thank You Bro, I learned so much in the last 80 Videos !

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

    I like all yours video about java(my listening isn't good) but I can understand all you say ...thank for all ...a hug from Rep Dom

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

    OK finally an explanation of Lambda expressions that I can understand! Thank You Bro!

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

    Thanks a lot for this tutorial, I really like your style comparing to other UA-camrs.

  • @admirallarin
    @admirallarin Рік тому +3

    12:52
    Now that's too funny :D

  • @WickedJackThe1
    @WickedJackThe1 10 місяців тому

    This is a very creative comment to help keep this channel running.

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

    I can see how this can be useful. Great stuff Bro!

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

    You gained a new subscriber! Ur explanations are exceptional thank you

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

    Thank you, nice explanation with clear examples.

  • @acheacjun
    @acheacjun 4 місяці тому +2

    my bro😍

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

    thanks Bro! I finally understand what is the Lambda-expression!

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

    The thing i most like in bro is that he always goes straight to the point

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

    helpful as always!

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

    Hey! Thank you for the simple way of explaining complicated concepts. Well done!

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

    Great vid, bro!

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

    I took UA-cam premium just so I could watch your video without any disturbances.

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

    Thank you! This is easy enough for me to undestand as a beginner. Other tutorials go to fast or are too advanced for my level.

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

    Great Java tutorial, thank you!

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

    Fantastic video. Thanks for the explanation

  • @antoniob.6546
    @antoniob.6546 2 роки тому

    Thanks for leaving your code in the comments, that with your video are going to make things so much easier 👌

  • @TheWaynestark
    @TheWaynestark 7 місяців тому

    This was very helpful! Thanks!!

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

    Very clear understanding!good .

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

    The best teacher bro! 😎

  • @girl6994
    @girl6994 4 роки тому +7

    Sir, I think we don’t need to declare public if we define method in interface. Because it is always public right?

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

      you are right. I do as a habit and I forget that you don't need to

    • @shivanandchinchewadi2398
      @shivanandchinchewadi2398 9 місяців тому

      It's rught buddy.. there is no need to follow everything everytime

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

    Thank you.谢谢。

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

    Thank you, that's a very useful video!

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

    Another Good one Bro

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

    Hello, Thank you so much for your effort and for your clear explanations🙏 I have a question: Why is creating automatically the override method when I instantiate the myInterface interface? like in 3:50? Thank you.

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

    82th. Thank you, ma Bro Sensei

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

    excellent

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

    thank you , this video helped me alot !

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

    Thank you! Very helpful!

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

    So lambdas are when you have 2 classes, one of them with a void method, and the other one with the lambda. The one with the lambda defines what the void method does and calls it?

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

    Good bro!

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

    Good!

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

    Hi Bro, You have mentioned that the Functional Interfaces have only one abstract method. How many different kinds of interfaces do we have in Java?

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

    nice tuto, thanks

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

    amazing.

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

    Your voice force me coding.

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

    Thanks Bro.

  • @eugenezuev7349
    @eugenezuev7349 6 місяців тому

    *bowing in admiration*

  • @DevangPatel-b6u
    @DevangPatel-b6u Рік тому

    What is your intro song man i need that tune as a ringtone.

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

    Nice, bro!

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

    Bro. you just helped me cut my code in half.

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

    Thank you a lot

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

    Bro rocks

  • @BrunoHenrique-oe5hb
    @BrunoHenrique-oe5hb 6 місяців тому

    thanks, bro

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

    I learned a lot.

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

    Thank you Bro!

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

    thanks bro

  • @MrLoser-ks2xn
    @MrLoser-ks2xn Рік тому

    Thanks!

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

    Ly bro 10

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

    Thank you!

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

    Thanks 🙏

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

    Thank again Bro

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

    I learned something

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

    In the second example how can you just introduce myFrame and never use it? :(
    (in public class Main)

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

    Bro, I'm your fellow bro.

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

    you said work with a fonctional Interface , doesn't it work with an abstract class with one absract method ???

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

      I tried it, you'll receive an error that states:
      'The target type of this expression must be a functional interface'

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

    Tnx!

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

    Please Work With JAVAFX too
    tnx

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

      working on it

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

      @@BroCodez thanks
      can't wait to watch them

  • @meggieelo
    @meggieelo 5 місяців тому

    love you

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

    Brooo super
    (Lambda)

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

    Thanks

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

    GOAT.

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

    Basically less boilerplates

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

    I am soryy, but i am stuck, when you add actionListener and use lambda expression, you pass "e" as an argument of your method, but this "e" you didn't assigned nowhere, so how does it works?

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

      So i meant, this argument doesn't have type, how does compiler works?

    • @LOTUS-FLOWER
      @LOTUS-FLOWER 2 роки тому

      "e" here acts like "this", so whenever an event ( "click") happened it will execute the code given

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

    Java is turning into something else these days

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

    So, is there any reason to use an anonymous inner class for ActionListener, instead of a lambda expression? It seems it does the same thing but is shorter.

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

      yes if u wanna use an anonymous inner class for ActionListener just use Lambda exp

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

      You can, ActionListener uses a single abstract method, actionPerformed()

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

    👍

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

    Seems so pointless, like why even bother doing it this way.

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

    #brocodealltheway!

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

    I like my coffee like I like my women.
    Not yelling at me.

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

    We don’t write multi lines in lambda

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

      lambdas can have more than one line

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

    Lambalicious

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

    Gold, f*kin gold

  • @-omarabusnineh5174
    @-omarabusnineh5174 2 роки тому

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

    comment for stats

  • @Tony-lm5tp
    @Tony-lm5tp Рік тому

    Man why are you doing this for free?

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

    Hi :)

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

    Comment.

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

    420by420

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

    777th like! Cookie, please :D

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

    .

  • @alberttarabasz7548
    @alberttarabasz7548 8 місяців тому

    Thank you!

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

    Thanks