HashMap和字典ADT之间的区别

哈希映射和字典ADT有什么区别。 何时更喜欢一个而不是另一个。 对于我的编程任务,我的教练要求使用其中的一个,但我没有看到两者之间的差异。 该计划应该与一个巨大的没有。 的字符串。 有什么建议么?


就Java而言,类HashMap和类Dictionary都是“Map”抽象数据类型的实现。 抽象数据类型不是特定于任何一种编程语言的,Map ADT也可以称为哈希,或字典或关联数组(http://en.wikipedia.org/wiki/Associative_array)。 (注意我们正在区分Dictionary类和Dictionary ADT。)

Dictionary类已被标记为过时,所以最好不要使用它。


这个堆栈溢出文章很好地解释了关键的区别:

Java hashmap vs散列表

请注意,Hashtable只是Dictionary ADT的一个实现。 另请注意,Java认为Dictionary“已过时”。

对于大多数用途来说,Hashtable是同步的这一事实并不会给你带来太多的收益。 使用HashMap。


在Java中,HashMap实现了Map接口,而Dictionary没有。 这使字典过时(根据API文档)。 也就是说,他们都做了类似的功能,所以你是对的,他们看起来很相似...... HashMap是一种字典。

不过建议您使用HashMap。

链接地址: http://www.djcxy.com/p/16369.html

上一篇: Difference between a HashMap and a dictionary ADT

下一篇: Difference between Hashtable and Collections.synchronizedMap(HashMap)