Встречается на 2% собеседований по Java
Какие знаешь варианты синхронизации коллекций
В Java есть несколько способов синхронизации коллекций:
-
Collections.synchronizedXXX()
Оборачивает коллекцию в synchronized-обёртку:javaList<String> syncList = Collections.synchronizedList(new ArrayList<>()); -
Concurrent коллекции из java.util.concurrent
Более эффективные потокобезопасные аналоги:javaConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>(); CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<>();
-
Вручную через synchronized
Использование блоков синхронизации:javasynchronized (myCollection) { myCollection.add(item); } -
Использование Lock/ReentrantLock
Более гибкая альтернатива synchronized:javaLock lock = new ReentrantLock(); lock.lock(); try { myCollection.add(item); } finally { lock.unlock(); }
Выбор зависит от сценария:
- Для редких записей подойдёт
Collections.synchronizedXXX() - Для частых операций лучше
ConcurrentHashMap/CopyOnWriteArrayList - Для сложной логики – ручная синхронизация через
Lock

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