English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste exemplo, vamos aprender a passar expressões lambda como parâmetros de métodos no Java.
Para entender este exemplo, você deve entender o seguinteProgramação JavaTema:
import java.util.ArrayList; class Main { public static void main(String[] args) { //Criar um ArrayList ArrayList<String> languages = new ArrayList<>(); //Adicionar elementos ao ArrayList languages.add("java"); languages.add("swift"); languages.add("python"); System.out.println("ArrayList: "); + languages); //Passar expressão lambda como parâmetro para o método replaceAll() languages.replaceAll(e -> e.toUpperCase()); System.out.println("ArrayList invertida: "); + languages); } }
Resultados de saída
ArrayList: [java, swift, python] ArrayList invertida: [JAVA, SWIFT, PYTHON]
No exemplo acima, criamos uma lista de array chamada languages. Note esta linha,
languages.replaceAll(e -> e.toUpperCase());
Aqui, e -> e.toUpperCase() é uma expressão lambda. Ela aceita todos os elementos do arraylist e os converte para maiúsculo.
import java.util.ArrayList; import java.util.Arrays; class Main { public static void main(String[] args) { //Criar um ArrayList ArrayList<String> languages = new ArrayList<>(Arrays.asList("java", "python")); System.out.println("ArrayList: "); + languages); //Chamar o método forEach() //Passar lambda como parâmetro para forEach() //Inverter cada elemento do ArrayList System.out.print("ArrayList invertida: "); languages.forEach((e) -> { //Corpo da expressão lambda String result = ""; for (int i = e.length()-1; i >= 0; i--) result += e.charAt(i); System.out.print(result + ","); }); } }
Resultados de saída
ArrayList: [java, python] ArrayList invertido: avaj, nohtyp,
No exemplo acima, criamos uma arraylist chamada languages. Observe esta linha,
languages.forEach((e) -> { //Corpo da expressão lambda String result = ""; for (int i = e.length()-1; i >= 0; i--) result += e.charAt(i); System.out.print(result + ","); });
Aqui, passamos a expressão lambda como parâmetro paraArrayList forEach()Método. A expressão lambda reversa cada elemento do arraylist.