Встречается на 2% собеседований по Java
Как сделать HashMap многопоточной
Для многопоточной работы с HashMap в Java используйте ConcurrentHashMap — потокобезопасную реализацию интерфейса Map. Она обеспечивает высокую производительность за счёт сегментирования данных и блокировки на уровне сегментов, а не всей таблицы.
Пример:
java
ConcurrentHashMap<String, Integer> concurrentMap = new ConcurrentHashMap<>();
concurrentMap.put("key1", 1);
concurrentMap.putIfAbsent("key2", 2);Альтернативы:
Collections.synchronizedMap(new HashMap<>())— менее эффективен, т.к. блокирует всю мапу.Hashtable— устаревший, медленный из-за полной синхронизации.
Важно: ConcurrentHashMap не блокирует операции чтения и поддерживает атомарные операции (например, computeIfAbsent).

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