Junior — Middle
Ja es izsaucu metodi toList() uz Stream, vai rezultāts būs ArrayList vai cita kolekcijas veids?
sobes.tech AI
Atbilde no AI
Stream interfeisa toList() metode (no Java 16) atgriež neizmaināmu sarakstu, taču konkrētais kolekcijas tips netiek garantēts un nav obligāti ArrayList. Atšķirībā no collect(Collectors.toList()), kas parasti atgriež ArrayList, Stream.toList() var atgriezt citu saraksta tipu, optimizētu konkrētai realizācijai.
Piemērs:
List<String> list = Stream.of("a", "b", "c").toList();
// saraksts ir neizmaināms, mēģinājums to mainīt izraisīs UnsupportedOperationException
Tādēļ nevar paļauties uz to, ka rezultāts būs tieši ArrayList. Ja nepieciešams tieši ArrayList, labāk izmantot collect(Collectors.toList()).