Java-Programm zum Übergeben des Lambda-Ausdrucks als Methodenargument

In diesem Beispiel lernen wir, den Lambda-Ausdruck als Methodenargument in Java zu übergeben.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:

  • Java Lambda-Ausdrücke
  • Java ArrayList-Klasse
  • Java-Methoden

Beispiel 1: Definieren Sie Lambda-Ausdrücke als Methodenparameter

 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); ) )

Ausgabe

 ArrayList: (Java, Swift, Python) Aktualisierte ArrayList: (JAVA, SWIFT, PYTHON)

Im obigen Beispiel haben wir eine Arrayliste mit dem Namen Languages ​​erstellt. Beachten Sie die Linie,

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

Hier e -> e.toUpperCase()ist ein Lambda-Ausdruck. Es nimmt alle Elemente der Arrayliste und wandelt sie in Großbuchstaben um.

Beispiel 2: Übergeben Sie einen mehrzeiligen Lambda-Körper als Funktionsargumente

 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 + ", "); )); ) )

Ausgabe

 ArrayList: (Java, Python) Umgekehrte ArrayList: avaj, nohtyp,

Im obigen Beispiel haben wir eine arraylistische Sprache erstellt. Beachten Sie die Linie,

  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 übergeben wir den Lambda-Ausdruck als Argument an die ArrayList forEach () -Methode. Der Lambda-Ausdruck kehrt jedes Element der Arrayliste um.

Interessante Beiträge...