Встречается на собеседованиях • сегодня
Какие знаешь реализации листов, которые поддерживают внутреннее копирование во время итерирования
В Java есть несколько реализаций списков, поддерживающих безопасное копирование при итерации:
1. **CopyOnWriteArrayList** - потокобезопасный список, который создает новую копию массива при каждой модификации. Итераторы работают с неизменяемым снимком данных на момент создания.
```java
CopyOnWriteArrayList list = new CopyOnWriteArrayList<>();
list.add("A");
list.add("B");
for (String s : list) { // итератор работает с копией
list.add("C"); // модификация не влияет на текущий итератор
}
```
2. **Collections.unmodifiableList()** - создает неизменяемую обертку над списком. Любые попытки модификации приводят к UnsupportedOperationException.
3. **Collections.synchronizedList()** - синхронизированная обертка, но требует ручной синхронизации при итерации.
Основное преимущество CopyOnWriteArrayList - безопасность при итерации без блокировок, но он потребляет больше памяти из-за копирования.

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