Expressões Lambda em Java | Explicado

Expressões Lambda em Java | Explicado
As expressões lambda são uma adição emocionante a Java SE 8. As expressões Lambda nos ajudam a construir aplicativos Java em um paradigma diferente em comparação com a OOP tradicional. As expressões lambda são uma abordagem fundamental para a programação funcional de Java e, portanto, permitem que uma função seja criada sem pertencer a nenhuma classe específica. O conceito de expressões lambda gira em torno da interface funcional.

Este artigo apresenta um entendimento detalhado dos aspectos listados abaixo das expressões Java Lambda:

  • O que são expressões lambda
  • Por que expressões lambda
  • O que é uma interface funcional em java
  • Parâmetros de expressão lambda
  • Como implementar expressões Lambda em Java

Então vamos começar!

O que são expressões lambda

Em Java, as expressões lambda nada mais são do que um bloco conciso de código que pode ser usado para escrever métodos anônimos. As expressões Lambda são muito semelhantes aos métodos Java, mas essas expressões não precisam de um nome e podem ser implementadas no corpo da função.

Por que expressões lambda

Existem inúmeras vantagens/recursos que mostram o significado das expressões Lambda em Java:

  • Permite programação funcional.
  • As expressões lambda tornam o código facilmente conciso e facilmente legível.
  • As expressões Lambda nos ajudam a escrever APIs e bibliotecas fáceis de usar.
  • Expressões lambda suportam o processamento paralelo.

Interfaces funcionais

Em Java, uma interface pode ter pelo menos um método abstrato; No entanto, se falarmos sobre uma interface funcional, ele tem exatamente um método abstrato. Por exemplo, a interface Java Runnable é uma interface funcional que compreende apenas um método abstrato I.e. correr(). As expressões lambda implementam apenas métodos abstratos e, portanto, expressões de lambda podem implementar as interfaces funcionais.

Exemplo

Vejamos o snippet de código abaixo, onde você pode identificar o que é uma interface funcional em Java:

Interface printData
void show (dados da string);

classe pública LambdaExpressionExample implementa PrintData
public void show (dados da string)
Sistema.fora.println (dados);

public static void main (string [] args)
LambdaExpressionExemple OBJ = novo LambdaExpressionExample ();
obj.mostrar ("Exemplo de expressão lambda");

A saída do código acima é mostrada no seguinte snippet:

É assim que uma interface funcional funciona em java.

Parâmetros de expressão lambda

Em Java, o Operador de Arrow -> foi introduzido via Lambda Expressions. O operador de seta é responsável por dividir a expressão lambda em duas partes i.e. Parâmetros/argumentos, Bode.

Uma expressão lambda não pode ter parâmetro, parâmetro único ou múltiplos parâmetros. A sintaxe básica para ambas as abordagens é mostrada abaixo:

Sintaxe da expressão de lambda com parâmetro zero

() ->
//código

Sintaxe da expressão lambda com um único parâmetro

Parâmetro ->
//código

Sintaxe da expressão de lambda com vários parâmetros

(Parameter1, Parameter2, Parameter3) ->
//código

Como implementar expressões Lambda em Java

O snippet de código abaixo do rumo permitirá que você entenda como implementar as expressões Lambda em Java:

Exemplo

Neste exemplo, passaremos a expressão Lambda como parâmetros para a função foreach () da LinkedList para imprimir seu elemento:

classe pública LambdaExpressionSexample
public static void main (string [] args)
Linkedlist swards = new LinkedList ();
assuntos.add ("ciência da computação");
assuntos.add ("matemática");
assuntos.add ("biologia");
assuntos.add ("física");
assuntos.add ("inglês");
assuntos.foreach ((sub) ->
Sistema.fora.println (sub);
);

O trecho de código completo e a respectiva saída são mostrados no trecho abaixo do rumo:

A saída autentica o funcionamento da expressão de lambda à medida que consegue imprimir todos os itens da lista.

Exemplo

O snippet de código abaixo é elaborado o funcionamento da expressão de Java Lambda com vários parâmetros/argumentos

interface findProduct
Produto int (int x, int y);

classe pública LambdaExpressionExample
public static void main (string [] args)
FindProduct num = (x, y) -> (x * y);
Sistema.fora.println (num.produto (12, 7));

O trecho acima calcula o produto de dois números usando a expressão Java Lambda:

O programa acima calcula o produto de dois números com sucesso, o que autentica o funcionamento das expressões Lambda em Java.

Conclusão

A expressão lambda em Java é um método anônimo que não tem nome nem pertence a nenhuma classe e fornece uma maneira clara e concisa de representar uma interface de método através de uma expressão. As expressões Lambda fornecem a implementação de uma interface funcional e simplificam o desenvolvimento do software. Este artigo fornece uma visão geral detalhada das expressões Java Lambda, onde aprendemos o que é uma expressão de lambda, por que é importante e como implementar expressões Lambda em Java.