Назад к вопросам
Иннотех
Junior — Middle
64
Какой потокобезопасный аналог ArrayList представлен в библиотеке java.util.concurrent?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В библиотеке java.util.concurrent потокобезопасным аналогом ArrayList является класс CopyOnWriteArrayList.
Этот класс реализует интерфейс List и обеспечивает безопасность при одновременном доступе из нескольких потоков за счёт копирования внутреннего массива при каждой операции модификации (например, добавлении или удалении элемента). Это делает чтение очень быстрым и не блокирующим, но операции записи — более дорогими.
Пример использования:
import java.util.concurrent.CopyOnWriteArrayList;
CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<>();
list.add("Первый элемент");
list.add("Второй элемент");
for (String item : list) {
System.out.println(item);
}
Такой подход подходит для сценариев, где операций чтения значительно больше, чем записи.