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 ✓.