Junior — Middle
107
Ποια είναι η ασφαλής για νήματα εναλλακτική του ArrayList που παρουσιάζεται στη βιβλιοθήκη java.util.concurrent;
Εταιρείες όπου ρωτήθηκαν
Απάντηση από 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);
}
Такой подход подходит для сценариев, где операций чтения значительно больше, чем записи.