Существует несколько различий между
Hashtable и
HashMap в Java:
Hashtable синхронизирован, тогда как
HashMap — нет. Это делает
HashMap лучше для непотоковых приложений, так как несинхронизированные объекты обычно работают лучше, чем синхронизированные.
Hashtable не допускает null ключей или значений.
HashMap допускает один null ключ и любое количество нулевых значений.
Один из подклассов
HashMap — LinkedHashMap, поэтому если вам нужен предсказуемый порядок итераций (который по умолчанию является порядком вставки), вы легко можете заменить хэш-карту на
LinkedHashMap. Это было бы не так просто, если бы вы использовали
Hashtable.
Поскольку синхронизация для вас не проблема, я бы порекомендовал HashMap. Если проблема с синхронизацией, можно также обратить внимание на
ConcurrentHashMap.