Цитата из #JCIP:
«Поскольку ConcurrentHashMap не может быть заблокирован для монопольного доступа, мы не можем использовать блокировку на стороне клиента для создания новых атомарных операций, таких как «положить, если отсутствует», как мы сделали для Vector».
Почему мы не можем просто получить блокировку, чтобы реализовать дополнительные атомарные методы и сохранить коллекцию поточно-ориентированной (например, синхронизированные коллекции, возвращаемые Collections.synchronizedxxx factory):