Junior — Middle
Ako pozovem metodu toList() na Stream, da li će rezultat biti ArrayList ili druga vrsta kolekcije?
sobes.tech АИ
Одговор од АИ
Метод toList() в интерфейсе Stream (начиная с Java 16) возвращает неизменяемый список, но конкретный тип коллекции не гарантируется и не обязательно является ArrayList. В отличие от collect(Collectors.toList()), который обычно возвращает ArrayList, Stream.toList() может возвращать другой тип списка, оптимизированный для конкретной реализации.
Пример:
List<String> list = Stream.of("a", "b", "c").toList();
// list - неизменяемый, попытка изменить вызовет UnsupportedOperationException
Таким образом, нельзя полагаться на то, что результат будет именно ArrayList. Если нужен именно ArrayList, лучше использовать collect(Collectors.toList()).