1
resposta

[Dúvida] EXEMPLOS

Onde elas são usadas?

1 resposta

Oi Raí! Tudo joia?

As lambdas e streams são amplamente utilizadas no Java para trabalhar com coleções de dados de forma mais eficiente e concisa, especialmente a partir do Java 8. Elas são particularmente úteis quando você precisa processar grandes volumes de dados ou realizar operações complexas em coleções.

Onde as Streams são usadas?

  1. Filtragem de Dados: Você pode usar streams para filtrar dados de uma coleção. Por exemplo, se você tem uma lista de números e quer apenas os números pares, a operação filter pode ser usada para isso.

    List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
    List<Integer> numerosPares = numeros.stream()
                                        .filter(n -> n % 2 == 0)
                                        .collect(Collectors.toList());
    
  2. Transformação de Dados: Com a operação map, você pode transformar cada elemento de uma coleção em outra coisa. Por exemplo, transformar uma lista de strings em uma lista de seus comprimentos.

    List<String> palavras = Arrays.asList("Java", "Stream", "Operações");
    List<Integer> tamanhos = palavras.stream()
                                     .map(String::length)
                                     .collect(Collectors.toList());
    
  3. Redução de Dados: Usando operações como reduce, você pode combinar todos os elementos de uma coleção em um único resultado, como somar todos os números de uma lista.

  4. Paralelismo: Streams podem ser processadas em paralelo, o que pode melhorar o desempenho em operações de larga escala.

Onde as Lambdas são usadas?

As expressões lambda são usadas para implementar interfaces funcionais de maneira concisa. Elas são especialmente úteis em:

  • Definição de Comportamentos: Em vez de criar classes anônimas para implementar métodos de interfaces, você pode usar lambdas para definir comportamentos rapidamente.

    List<String> nomes = Arrays.asList("João", "Maria", "Pedro");
    nomes.forEach(nome -> System.out.println("Olá, " + nome + "!"));
    
  • Passagem de Funções: Lambdas permitem passar comportamentos como parâmetros para métodos, o que é muito útil em APIs que suportam programação funcional.

Essas ferramentas são muito poderosas e podem tornar seu código mais legível e eficiente.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.