English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este ejemplo, aprenderemos a pasar una expresión lambda como parámetro de método en Java.
Para entender este ejemplo, debes entender lo siguienteProgramación en JavaTema:
import java.util.ArrayList; class Main { public static void main(String[] args) { //Crea un ArrayList ArrayList<String> languages = new ArrayList<>(); //Añade elementos a ArrayList languages.add("java"); languages.add("swift"); languages.add("python"); System.out.println("ArrayList: "); + languages); //Pasa la expresión lambda como parámetro al método replaceAll() languages.replaceAll(e -> e.toUpperCase()); System.out.println("ArrayList invertida: "); + languages); } }
Resultado de salida
ArrayList: [java, swift, python] ArrayList invertida: [JAVA, SWIFT, PYTHON]
En el ejemplo anterior, creamos una lista de arrays llamada languages. Nota esta línea,
languages.replaceAll(e -> e.toUpperCase());
Aquí, e -> e.toUpperCase() es una expresión lambda. Acepta todos los elementos de arraylist y los convierte a mayúsculas.
import java.util.ArrayList; import java.util.Arrays; class Main { public static void main(String[] args) { //Crea un ArrayList ArrayList<String> languages = new ArrayList<>(Arrays.asList("java", "python")); System.out.println("ArrayList: "); + languages); //Llama al método forEach() //Pasa lambda como parámetro a forEach() //Invierte cada elemento de ArrayList System.out.print("ArrayList invertida: "); languages.forEach((e) -> { //Cuerpo de la expresión Lambda String result = ""; for (int i = e.length()-1; i >= 0; i--) result += e.charAt(i); System.out.print(result + ", "); }); } }
Resultado de salida
ArrayList: [java, python] ArrayList invertido: avaj, nohtyp,
En el ejemplo anterior, creamos una arraylist llamada languages. Nota esta línea,
languages.forEach((e) -> { //Cuerpo de la expresión Lambda String result = ""; for (int i = e.length()-1; i >= 0; i--) result += e.charAt(i); System.out.print(result + ", "); });
Aquí, pasamos la expresión lambda como parámetro aArrayList forEach()Método. La expresión lambda invierte cada elemento de la arraylist.