Dictionary
- абстрактный класс, суперкласс Hashtable
.Вы не должны использовать Dictionary
, поскольку оно устарело .Что касается Hashtable, то преимущество, которое он имел перед другими картами, такими как HashMap
, заключалось в безопасности потоков, но с появлением ConcurrentHashMap начиная с Java 1.5, нет реальной причины использовать его больше - см. javadoc
Начиная с платформы Java 2 v1.2 этот класс был модифицирован для реализации интерфейса Map, что сделало его членом Java Collections Framework.В отличие от новых реализаций коллекции, Hashtable синхронизирован.Если поточно-ориентированная реализация не требуется, рекомендуется использовать HashMap вместо Hashtable.Если требуется высококонкурентная реализация, ориентированная на многопотоковое исполнение, то вместо Hashtable рекомендуется использовать ConcurrentHashMap.
В итоге : не использовать Dictionary
илиHashtable
, за исключением случаев, когда это действительно необходимо по соображениям совместимости, используйте либо HashMap
, если вам не нужна безопасность потоков, либо ConcurrentHashMap
, если ваша карта используется в параллельной среде.