哈希映射和字典ADT之间有什么区别.什么时候比较喜欢一个.对于我的编程作业,我的导师要求使用其中一个,但我认为两者之间没有任何区别.该计划应该与一个巨大的没有.字符串.有什么建议?
在Java方面,无论是类HashMap
和类Dictionary
是实现了"地图"的抽象数据类型.抽象数据类型不是特定于任何一种编程语言,并且Map ADT也可以称为哈希,字典或关联数组(其他人在http://en.wikipedia.org/wiki/Associative_array).(注意我们在Dictionary
类和Dictionary ADT 之间做了区分.)
该Dictionary
班已被标记为过时,所以最好不要使用它.
这个Stack Overflow帖子很好地解释了关键的区别:
Java hashmap vs hashtable
请注意,Hashtable只是Dictionary ADT的一个实现.另请注意,Java认为Dictionary "已过时".
Hashtable同步这一事实并不能为大多数用途带来太多收益.使用HashMap.
在Java中,HashMap实现了Map接口,而Dictionary则没有.这使得字典过时(根据API文档).也就是说,它们都执行类似的功能,因此你看起来非常相似...... HashMap是一种字典.
建议您使用HashMap.