Program Java untuk meneruskan ekspresi lambda sebagai argumen metode

Dalam contoh ini, kita akan belajar meneruskan ekspresi lambda sebagai argumen metode di Java.

Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:

  • Ekspresi Lambda Jawa
  • Kelas ArrayList Java
  • Metode Java

Contoh 1: Tentukan ekspresi lambda sebagai parameter metode

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

Keluaran

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

Dalam contoh di atas, kami telah membuat daftar larik bernama bahasa. Perhatikan garisnya,

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

Di sini, e -> e.toUpperCase()adalah ekspresi lambda. Ini mengambil semua elemen dari daftar larik dan mengubahnya menjadi huruf besar.

Contoh 2: Teruskan tubuh lambda multiline sebagai argumen fungsi

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

Keluaran

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

Dalam contoh di atas, kami telah membuat bahasa daftar larik. Perhatikan garisnya,

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

Di sini, kami meneruskan ekspresi lambda sebagai argumen ke metode ArrayList forEach (). Ekspresi lambda akan membalikkan setiap elemen dari daftar larik.

Artikel yang menarik...