Встречается на собеседованиях • сегодня

Что происходит с итерированием во время добавления в CopyOnWriteArrayList

При итерировании `CopyOnWriteArrayList` создается "снимок" (snapshot) текущего состояния списка. Даже если список изменяется (добавляются/удаляются элементы) во время итерации, итератор продолжает работать с исходным снимком, поэтому `ConcurrentModificationException` не возникает. **Пример:** ```java CopyOnWriteArrayList list = new CopyOnWriteArrayList<>(List.of("A", "B")); Iterator it = list.iterator(); list.add("C"); // Изменение списка после создания итератора while (it.hasNext()) { System.out.print(it.next() + " "); // Выведет "A B" (старый снимок) } System.out.println(list); // Выведет "[A, B, C]" (актуальное состояние) ``` **Особенности:** - Итератор не отражает последующие изменения. - Изменения списка создают новую копию массива, что может влиять на производительность. - Подходит для редких изменений и частого чтения (read-heavy).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы