Встречается на собеседованиях • сегодня
Существует ли потокобезопасный ArrayList
В стандартной библиотеке Java нет потокобезопасной реализации `ArrayList`. Обычный `ArrayList` не синхронизирован, поэтому при работе с ним из нескольких потоков могут возникнуть проблемы с согласованностью данных.
Вместо этого можно использовать:
1. `Collections.synchronizedList(new ArrayList<>())` - обертка с синхронизацией методов
2. `CopyOnWriteArrayList` - потокобезопасный вариант, где все модификации создают новую копию массива
Пример `CopyOnWriteArrayList`:
```java
CopyOnWriteArrayList list = new CopyOnWriteArrayList<>();
list.add("item1");
list.add("item2");
// Потокобезопасный доступ
for (String item : list) {
System.out.println(item);
}
```
Выбор зависит от сценария: `CopyOnWriteArrayList` лучше для частого чтения/редкой записи, а `synchronizedList` - когда важна актуальность данных.

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