Program Java na odovzdanie výrazu lambda ako argumentu metódy

V tomto príklade sa naučíme odovzdávať výraz lambda ako argument metódy v Jave.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:

  • Výrazy Java Lambda
  • Trieda Java ArrayList
  • Metódy Java

Príklad 1: Definujte výrazy lambda ako parametre metódy

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

Výkon

 ArrayList: (Java, Swift, Python) Aktualizovaný ArrayList: (JAVA, SWIFT, PYTHON)

Vo vyššie uvedenom príklade sme vytvorili zoznam skladieb s názvom languages. Všimnite si riadok,

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

Tu e -> e.toUpperCase()je výraz lambda. Berie všetky prvky arraylistu a prevádza ich na veľké písmená.

Príklad 2: Odošlite viacriadkové telo lambda ako argumenty funkcie

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

Výkon

 ArrayList: (java, python) Obrátený ArrayList: avaj, nohtyp,

Vo vyššie uvedenom príklade sme vytvorili jazyky zoznamov polí. Všimnite si riadok,

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

Tu odovzdávame výraz lambda ako argument metóde ArrayList forEach (). Výraz lambda obráti každý prvok poľa.

Zaujímavé články...