Publicado em

Lambda em Java

Partilhar:

Introdução

As expressões lambda, introduzidas no Java 8, revolucionaram a maneira como escrevemos e compreendemos o código em Java, tornando-o mais conciso, legível e expressivo.

O que é o Lambda?

O Lambda é um conceito que permite representar uma instância de uma interface funcional de uma maneira mais curta e simplificada. Basicamente, é uma forma de escrever funções anónimas: funções sem nome.

Vantagens do Lambda

  1. Concisão: O código torna-se mais enxuto e limpo.
  2. Legibilidade: Facilita a leitura e compreensão do código.
  3. Flexibilidade: Pode ser usado em conjunto com novas características do Java 8, como Streams.

Exemplo de Uso

package com.caffeinealgorithm.programaremjava;

import java.util.ArrayList;
import java.util.List;

public class Lambda {
  private List<String> pessoas = new ArrayList<>();

  public void Run() {
    pessoas.add("Nelson Silva");
    pessoas.add("Larissa Fernandes");
    pessoas.add("Pedro Henrique");
    pessoas.add("Raquel Soares");

    // listarPessoas();

    pessoas.forEach((pessoa) -> System.out.printf("Nome: %s\n", pessoa));
  }

  private void listarPessoas() {
    for (String pessoa : pessoas)
      System.out.printf("Nome: %s\n", pessoa);
  }
}

/*
  Nome: Nelson Silva
  Nome: Larissa Fernandes
  Nome: Pedro Henrique
  Nome: Raquel Soares
*/

Como Funciona?

No exemplo apresentado anteriormente, vemos a utilização do lambda para percorrer uma lista e imprimir cada elemento. Aqui, o método forEach aceita uma expressão lambda, que define o que fazer com cada elemento da lista.

Mais Exemplos

  1. Ordenar uma lista:
List<Integer> numeros = Arrays.asList(5, 2, 8, 3, 1);
numeros.sort((n1, n2) -> n1.compareTo(n2));
System.out.println(numeros);
  1. Criar uma thread:
new Thread(() -> System.out.println("Thread sendo executada usando Lambda!")).start();
  1. Operações com Streams:
long quantidade = pessoas.stream()
                .filter(pessoa -> pessoa.startsWith("N"))
                .count();
System.out.println("Quantidade de pessoas cujo nome começa com a letra N: " + quantidade);

Conclusão

As expressões lambda são uma adição poderosa à linguagem Java, permitindo que os desenvolvedores escrevam código de maneira mais eficiente e expressiva. Além disso, lambdas são cruciais para aproveitar ao máximo as novas características do Java, especialmente aquelas introduzidas no Java 8, como Streams.

Happy coding!