Sobes.tech
Junior — Middle

Si j'appelle la méthode toList() sur un Stream, le résultat sera-t-il un ArrayList ou un autre type de collection?

sobes.tech IA

Réponse de l'IA

La méthode toList() dans l'interface Stream (à partir de Java 16) retourne une liste immuable, mais le type précis de la collection n'est pas garanti et n'est pas nécessairement un ArrayList. Contrairement à collect(Collectors.toList()), qui retourne généralement un ArrayList, Stream.toList() peut retourner un autre type de liste, optimisé pour l'implémentation spécifique.

Exemple:

List<String> list = Stream.of("a", "b", "c").toList();
// La liste est immuable, toute tentative de modification provoquera UnsupportedOperationException

Ainsi, on ne peut pas compter que le résultat sera exactement un ArrayList. Si un ArrayList est nécessaire, il vaut mieux utiliser collect(Collectors.toList()).