Java-programma om lambda-expressie door te geven als een methode-argument

In dit voorbeeld zullen we leren lambda-expressie door te geven als het methode-argument in Java.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:

  • Java Lambda-expressies
  • Java ArrayList-klasse
  • Java-methoden

Voorbeeld 1: definieer lambda-expressies als methodeparameters

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList languages = new ArrayList(); // add elements to the ArrayList languages.add("java"); languages.add("swift"); languages.add("python"); System.out.println("ArrayList: " + languages); // pass lambda expression as parameter to replaceAll() method languages.replaceAll(e -> e.toUpperCase()); System.out.println("Updated ArrayList: " + languages); ) )

Uitvoer

 ArrayList: (java, swift, python) Bijgewerkt ArrayList: (JAVA, SWIFT, PYTHON)

In het bovenstaande voorbeeld hebben we een arraylist gemaakt met de naam talen. Let op de lijn,

 languages.replaceAll(e -> e.toUpperCase());

Hier e -> e.toUpperCase()is een lambda-uitdrukking. Het neemt alle elementen van de arraylist en converteert ze naar hoofdletters.

Voorbeeld 2: geef lambda-hoofdtekst met meerdere regels door als functieargumenten

 import java.util.ArrayList; import java.util.Arrays; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList languages = new ArrayList(Arrays.asList("java", "python")); System.out.println("ArrayList: " + languages); // call the foEach() method // pass lambda as argument fo forEach() // reverse each element of ArrayList System.out.print("Reversed ArrayList: "); languages.forEach((e) -> ( // body of lambda expression String result = ""; for (int i = e.length()-1; i>= 0 ; i--) result += e.charAt(i); System.out.print(result + ", "); )); ) )

Uitvoer

 ArrayList: (java, python) Reversed ArrayList: avaj, nohtyp,

In het bovenstaande voorbeeld hebben we een arraylist-talen gemaakt. Let op de lijn,

  languages.forEach((e) -> ( // body of lambda expression String result = ""; for (int i = e.length()-1; i>= 0 ; i--) result += e.charAt(i); System.out.print(result + ", "); ));

Hier geven we lambda-expressie door als argument aan de ArrayList forEach () - methode. De lambda-uitdrukking zal elk element van de arraylist omkeren.

Interessante artikelen...