English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом примере мы изучим, как передавать lambda-выражение в качестве параметра метода в Java.
Чтобы понять этот пример, вы должны знать следующееПрограммирование на JavaТема:
import java.util.ArrayList; class Main { public static void main(String[] args) { //Создать ArrayList ArrayList<String> languages = new ArrayList<>(); //Добавить элемент в ArrayList languages.add("java"); languages.add("swift"); languages.add("python"); System.out.println("ArrayList: "+ languages); //Передать lambda-выражение в качестве параметра метода replaceAll() languages.replaceAll(e -> e.toUpperCase()); System.out.println("Обновленный ArrayList: "+ languages); } }
Результат вывода
ArrayList: [java, swift, python] Обновленный ArrayList: [JAVA, SWIFT, PYTHON]
В предыдущем примере мы создали список languages. Обратите внимание на эту строку,
languages.replaceAll(e -> e.toUpperCase());
Здесь, e -> e.toUpperCase() это lambda-выражение. Оно принимает все элементы arraylist и преобразует их в верхний регистр.
import java.util.ArrayList; import java.util.Arrays; class Main { public static void main(String[] args) { //Создать ArrayList ArrayList<String> languages = new ArrayList<>(Arrays.asList("java", "python")); System.out.println("ArrayList: "+ languages); //Вызов метода forEach() //Передать lambda в качестве параметра forEach() //Обратить элементы ArrayList System.out.print("Обратный ArrayList: "); languages.forEach((e) -> { //Тело lambda-выражения 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,
В上面的 примере мы создали ArrayList под названием languages. Обратите внимание на эту строку:
languages.forEach((e) -> { //Тело lambda-выражения String result = ""; for (int i = e.length() - 1; i >= 0; i--) result += e.charAt(i); System.out.print(result + ", "); });
В этом примере мы передаем lambda-выражение в качестве параметра вArrayList forEach()Метод. Lambda-выражение обратит каждый элемент ArrayList.