В Java есть способ обернуть существующую хеш-карту и вернуть синхронизированную карту; однако вам придется написать синхронизацию самостоятельно: Collections # synchronizedMap
Довольно просто расширить HashMap
или реализовать интерфейс Map
, чтобы обеспечить некоторую синхронизацию на get()
и put()
, однако итераторы более хитры.
Существует также ConcurrentHashMap , но у него есть некоторые ограничения, в зависимости от того, что вы хотите сделать.
Простой подход заключается в использовании Collections#synchronizedMap
и добавлении кода синхронизации самостоятельно.