Sobes.tech
Back to questions
Junior — Middle
65

Какой потокобезопасный аналог ArrayList представлен в библиотеке java.util.concurrent?

Companies where asked
ИннотехИннотех

Answer from AI

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);
}

Такой подход подходит для сценариев, где операций чтения значительно больше, чем записи.