Програма Java для передачі лямбда-виразу як аргументу методу

У цьому прикладі ми навчимося передавати лямбда-вираз як аргумент методу в Java.

Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування Java:

  • Лямбда-вирази Java
  • Клас Java ArrayList
  • Методи Java

Приклад 1: Визначте лямбда-вирази як параметри методу

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

Вихідні дані

 ArrayList: (java, swift, python) Оновлений ArrayList: (JAVA, SWIFT, PYTHON)

У наведеному вище прикладі ми створили список записів, що називається мовами. Зверніть увагу на рядок,

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

Тут e -> e.toUpperCase()лембда-вираз. Він бере всі елементи списку записів і перетворює їх у великі регістри.

Приклад 2: Передайте багаторядкове лямбда-тіло як аргументи функції

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

Вихідні дані

 ArrayList: (java, python) Зворотний ArrayList: avaj, nohtyp,

У наведеному вище прикладі ми створили мови списку аррейлів. Зверніть увагу на рядок,

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

Тут ми передаємо лямбда-вираз як аргумент методу ArrayList forEach (). Лямбда-вираз переверне кожен елемент списку записів.

Цікаві статті...