Program Java untuk menyampaikan ekspresi lambda sebagai argumen kaedah

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

Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan Java berikut:

  • Ungkapan Lambda Java
  • Kelas ArrayList Java
  • Kaedah Java

Contoh 1: Tentukan ungkapan lambda sebagai parameter kaedah

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

Pengeluaran

 ArrayList: (java, swift, python) ArrayList yang dikemas kini: (JAVA, SWIFT, PYTHON)

Dalam contoh di atas, kami telah membuat senarai laras bernama bahasa. Perhatikan garis,

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

Di sini, e -> e.toUpperCase()adalah ungkapan lambda. Ia mengambil semua elemen senarai susunan dan mengubahnya menjadi huruf besar.

Contoh 2: Lulus badan 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 + ", "); )); ) )

Pengeluaran

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

Dalam contoh di atas, kami telah membuat bahasa senarai larik. Perhatikan garis,

  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 menyampaikan ungkapan lambda sebagai hujah kepada kaedah ArrayList forEach (). Ungkapan lambda akan membalikkan setiap elemen senarai susunan.

Artikel menarik...