Встречается на собеседованиях • сегодня
В чем разница между вариантами преобразования stream в List
Основные способы преобразования Stream в List:
1. `collect(Collectors.toList())` - создает изменяемый ArrayList (Java 8+)
```java
List list = stream.collect(Collectors.toList());
list.add("new element"); // работает
```
2. `collect(Collectors.toUnmodifiableList())` (Java 10+) - создает неизменяемый список
```java
List list = stream.collect(Collectors.toUnmodifiableList());
list.add("new"); // UnsupportedOperationException
```
3. `toList()` (Java 16+) - создает неизменяемый список (аналог toUnmodifiableList)
```java
List list = stream.toList();
```
Ключевые отличия:
- toList()/toUnmodifiableList() возвращают неизменяемые коллекции
- Collectors.toList() гарантирует изменяемость, но конкретная реализация может меняться
- toList() короче в написании (Java 16+)
- toUnmodifiableList() явно указывает на неизменяемость

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы