Это зависит от того, как вы используете его в приложении.
Если вы выполняете много операций чтения и записи на нем, ConcurrentHashMap , возможно, является наилучшим выбором, если это в основном чтение, обычная карта, заключенная в коллекцию с использованием ReadWriteLock.
(поскольку запись не будет распространена, вы получите более быстрый доступ и блокировку только при записи).
Collections.synchronizedMap (), возможно, является наихудшим случаем, поскольку он может просто предоставить вам оболочку со всеми синхронизированными методами, избегайте ее любой ценой.