Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] .collect(Collectors.toList()) para .toList();

Ola bom dia como vai? a IDE pede para substituir o .collect(Collectors.toList()); por .toList(). Não entendi por que... public class Main { public static void main(String[] args) { List numeros = Arrays.asList(1, 2, 3, 4, 5, 6); List resultado = numeros.stream() .filter(n -> n % 2 == 1) .map(n -> n * 2) .collect(Collectors.toList()); System.out.println(resultado); // Esperado: [2, 6, 10] } }

1 resposta
solução!

Bom dia, Maurício! Tudo bem?

Essa sugestão está relacionada a uma melhoria introduzida no Java 16, que oferece uma maneira mais concisa de coletar elementos em uma lista.

No Java 8, a forma comum de coletar elementos de um stream em uma lista era usando o método .collect(Collectors.toList()). No entanto, a partir do Java 16, foi introduzido o método .toList(), que serve ao mesmo propósito de uma forma mais direta e simplificada.

Aqui está um exemplo prático com o seu código:

import java.util.Arrays;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6);
        List<Integer> resultado = numeros.stream()
                                         .filter(n -> n % 2 == 1)
                                         .map(n -> n * 2)
                                         .toList(); // Substituído por .toList()
        System.out.println(resultado); // Esperado: [2, 6, 10]
    }
}

A principal diferença é que .toList() é uma alternativa mais moderna e pode ser ligeiramente mais eficiente, além de tornar o código mais legível. No entanto, é importante garantir que você está usando uma versão do Java que suporte esse método, como o Java 16 ou superior.

Espero ter ajudado e bons estudos!

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