Sobes.tech
Junior — Middle
100

Jaka jest bezpieczna dla wątków alternatywa dla ArrayList przedstawiona w bibliotece java.util.concurrent?

Firmy, w których zadano pytania
ИннотехИннотех

Odpowiedź od 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);
}

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