Назад к вопросам
СБЕР
Junior — Middle
102
Если я вызову метод toList() на Stream, будет ли результатом ArrayList, или другой тип коллекции?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Метод 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()).