English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriais Básicos de Java

Java Controle de Fluxo

Java Array

Java Orientação a Objetos (I)

Java Orientação a Objetos (II)

Java Orientação a Objetos (III)

Tratamento de Exceções Java

Java Lista (List)

Java Fila (Queue)

Java Conjunto Map

Java Conjunto Set

Java Entrada e Saída (I/O)

Reader Java/Writer

Outros tópicos do Java

O programa Java passa expressões lambda como parâmetros de métodos

Coleção de exemplos Java

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:

Exemplo1:Definir expressão lambda como parâmetro de método

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.

Exemplo2:Passar corpo lambda de várias linhas como parâmetro de função

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.

Coleção de exemplos Java