Baixe o material de estudo
Fala, meus consagrados! Beleza?
Se um concurseiro está se preparando para concursos de TI como Banco do Brasil, MPU, INSS ou Receita Federal, é essencial conhecer as funções lambda em Java. Desde o Java 8, essa funcionalidade tem ganhado destaque em questões de provas, especialmente aquelas organizadas por CESGRANRIO, FGV e FCC, que buscam avaliar sua compreensão sobre programação funcional, APIs modernas e legibilidade de código.
Uma função lambda é uma forma curta de se representar uma função anônima, ou seja, uma função sem nome que pode ser passada como argumento ou atribuída a uma variável.
Essas funções incorporaram conceitos de programação funcional e tornam o código mais conciso, legível e eficiente.
Sintaxe:
(parâmetros) -> { corpo }
Ou em versões mais simples:
a -> a * 2
Possuem características principais:
- São funções anônimas;
- São baseadas em interfaces funcionais;
- Possuem sintaxe compacta;
- Possuem melhor legibilidade e manutenção; e
- São usadas extensivamente com APIs modernas (Streams, Collections, etc.).

As expressões são limitadas e precisam retornar um valor imediatamente. Elas não podem conter:
- Variáveis;
- Atribuições; e
- Instruções como if ou for.
Exemplo:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList linguagens = new ArrayList();
linguagens.add("Python");
linguagens.add("Java");
linguagens.add("PHP");
linguagens.add("C");
linguagens.forEach((n) -> {System.out.println(n);});
}
}
Resultado da execução:
Python
Java
PHP
C
No código, usamos o ArrayList
A partir da variável-objeto linguagens, acionamos o método forEach(…), que é um um método da interface Iterable que percorre todos os elementos. Para cada elemento da lista, foi aplicada uma função anônima: (n) -> { … }. Essa expressão lambda que recebe um elemento n da lista e executa um bloco de código: System.out.println(n), que imprime no console o nome da linguagem.
As funções lambda representam uma forma concisa de implementar métodos de interfaces funcionais. Uma interface funcional é qualquer interface com exatamente um método abstrato. Exemplos prontos da linguagem incluem:
- Consumer
: aceita um valor e não retorna nada; - Function
: transforma um valor em outro; - Predicate
:retorna verdadeiro ou falso; e - Supplier
: fornece um valor sem receber parâmetros;
import java.util.function.Consumer;
public class Exemplo {
public static void main(String[] args) {
Consumer exibir = s -> System.out.println("Valor: " + s);
exibir.accept("Lambda em ação!");
}
}
@FunctionalInterface
interface Saudacao {
void dizer(String nome);
}
public class LambdaExemplo {
public static void main(String[] args) {
Saudacao saudacao = nome -> System.out.println("Olá, " + nome + "!");
saudacao.dizer("Mundo");
}
}
No código acima, temos uma interface Saudacao e que possui a anotação @FunctionalInterface, informando ao compilador que a interface deve ter apenas um método abstrato. Isso permite que ela seja usada com expressões lambda.
Já no código da classe LambdaExemplo, a variável saudacao recebe uma função lambda com um parâmetro nome, que imprime uma saudação personalizada. A chamada saudacao.dizer(“Mundo”) executa a lambda, imprimindo:
Olá, Mundo!
As expressões lambda marcaram uma nova era para o Java, abrindo as portas para a programação funcional de forma fluida e natural. Elas simplificam o código, facilitam a leitura e integram-se perfeitamente com as novas APIs modernas. Ao dominar lambdas, você amplia significativamente sua capacidade de escrever código Java mais limpo, expressivo e eficiente.
Espero que tenham gostado!
Forte abraço e até a próxima jornada!
_________________________
Professor Rogerão Araújo
Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil? Clique nos links abaixo:
CONCURSOS 2025
CONCURSOS 2026
CONCURSOS ABERTOS
QUESTÕES DE CONCURSOS
Receba gratuitamente no seu celular as principais notícias do mundo dos concursos. Clique no link abaixo e inscreva-se:
TELEGRAM
Fonte: Gran Cursos Online