Junior — Middle
Se eu chamar o método toList() numa Stream, o resultado será um ArrayList ou outro tipo de coleção?
sobes.tech IA
Resposta da IA
O método toList() na interface Stream (a partir do Java 16) retorna uma lista imutável, mas o tipo específico de coleção não é garantido e não é necessariamente um ArrayList. Ao contrário de collect(Collectors.toList()), que normalmente retorna um ArrayList, Stream.toList() pode retornar outro tipo de lista, otimizado para a implementação específica.
Exemplo:
List<String> list = Stream.of("a", "b", "c").toList();
// a lista é imutável, tentar modificá-la causará UnsupportedOperationException
Portanto, não se pode confiar que o resultado será exatamente um ArrayList. Se for necessário um ArrayList, é melhor usar collect(Collectors.toList()).