Јава програм за прослеђивање ламбда израза као аргумента методе

У овом примеру ћемо научити да преносимо ламбда израз као аргумент методе у Јави.

Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:

  • Јава Ламбда изрази
  • Класа Јава АрраиЛист
  • Јава методе

Пример 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); ) )

Оутпут

 АрраиЛист: (јава, свифт, питхон) Ажурирани АрраиЛист: (ЈАВА, СВИФТ, ПИТХОН)

У горњем примеру смо креирали арраилист назван језицима. Обратите пажњу на линију,

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

Оутпут

 АрраиЛист: (јава, питхон) Обрнути АрраиЛист: авај, нохтип,

У горњем примеру смо створили арраилист језике. Обратите пажњу на линију,

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

Овде преносимо ламбда израз као аргумент методи АрраиЛист форЕацх (). Ламбда израз ће преокренути сваки елемент арраилисте.

Занимљиви Чланци...