Java-program til at videregive lambda-udtryk som et metodeargument

I dette eksempel lærer vi at videregive lambda-udtryk som metodeargumentet i Java.

For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:

  • Java Lambda-udtryk
  • Java ArrayList-klasse
  • Java-metoder

Eksempel 1: Definer lambda-udtryk som metodeparametre

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

Produktion

 ArrayList: (java, hurtig, python) Opdateret ArrayList: (JAVA, SWIFT, PYTHON)

I ovenstående eksempel har vi oprettet en matrixliste, der hedder sprog. Bemærk linjen,

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

Her e -> e.toUpperCase()er et lambda-udtryk. Det tager alle elementer i arraylisten og konverterer dem til store bogstaver.

Eksempel 2: Videregiv multiline lambda-krop som funktionsargumenter

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

Produktion

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

I ovenstående eksempel har vi oprettet en arraylistesprog. Bemærk linjen,

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

Her sender vi lambda-udtryk som et argument til ArrayList forEach () -metoden. Lambda-udtrykket vender hvert element i arraylisten.

Interessante artikler...