Fique por dentro – Concurso de TI! Funções lambda em Java

Baixe o material de estudo



Baixar apostila para concurso

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.).
Figura 1: Características das funções lambda.

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 para criar uma lista dinâmica de strings. Depois foram adicionadas várias strings que representam linguagens de programação: Python, Java, PHP e C.

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:

WHATSAPP

TELEGRAM

Fonte: Gran Cursos Online

Download disponível – Funções lambda em Java



Baixar apostila para concurso

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *