Hash Map与字典ADT有什么区别?何时更喜欢一个而不是另一个。对于我的编程任务,我的教练要求使用其中的一个,但我没有看到两者之间的差异。该计划应该与一个巨大的没有。的字符串。有什么建议么?HashMap与字典之间的区别ADT
回答
就Java而言,类别HashMap
和类别Dictionary
是“地图”抽象数据类型的实现。抽象数据类型不是特定于任何一种编程语言,并且Map ADT也可以称为哈希,或字典或关联数组(其他人在http://en.wikipedia.org/wiki/Associative_array)。 (请注意,我们正在做的Dictionary
类和字典ADT之间的区别。)
的Dictionary
类已被标记为过时,所以最好不要使用它。
在Java中,HashMap实现了Map接口,而Dictionary没有。这使字典过时(根据API文档)。也就是说,他们都做了类似的功能,所以你是对的,他们看起来很相似...... HashMap是一种字典。
虽然建议您使用HashMap。
这个堆栈溢出后做了很好的工作,解释的主要区别:
需要注意的是Hashtable的仅仅是解释ADT的实现。另请注意,Java考虑词典"obsolete"。
对于大多数用途来说,Hashtable是同步的这一事实并不会给您带来太多的收益。使用HashMap。
谢谢!这很有帮助! – trillions 2012-08-11 07:25:47
地图是在Java,相同的通用语言无关的数据结构的ADT用于维持<键,值>双的接口,并且在Java 1.2的引入。
词典(不是Map的实现)是JDK 1.0中引入的同一目的的抽象类。它唯一的子类是Hashtable,它本身正在实现Map。尽管如此,Dictionary类已经过时了,你可能会忘记它。
有地图和字典的功能,成员之间的分歧,但是你会发现HashMap和Hashtable的更加有用的区别。 here你可以找到差异。
- 1. 地图和字典之间的区别
- 2. memcache和python字典之间的区别
- 3. 对象和字典之间的区别?
- 4. 定义字典之间的区别
- 5. hashmap和hashtable |之间的区别
- 6. hashmap 1.4和1.6之间的区别
- 7. Python字典理解与循环之间的区别
- 8. namedtuple与冻结字典之间的区别
- 9. json字典与散列之间的区别
- 10. 值与文字之间的区别
- 11. “或”与“||”之间的区别?
- 12. ~~与Math.floor之间的区别()
- 13. PAM与Metis分区之间的区别
- 14. 与别名之间的区别
- 15. perl的散列和python的字典之间的区别
- 16. 字典和python中的ordereddict之间的区别
- 17. Python的设置和字典之间的区别“内部”
- 18. 时间()与stime()之间的区别
- 19. 向量和链接列表之间的区别ADT
- 20. 结构和列表ADT之间的用法区别是什么?
- 21. Scala:类型类和ADT之间的区别?
- 22. 字典和哈希表之间的真正区别是什么?
- 23. 定义typing.Dict和字典之间的区别?
- 24. JSON之间,字典和对象的区别?
- 25. java中的Array和Hashmap之间的主要区别是什么?
- 26. 关注与责任之间的区别(即SRP和SoC之间的区别)?
- 27. 迭代HashMap的两种方法之间有什么区别
- 28. HashMap <String,String>和List <NameValuePair之间的区别
- 29. 命令与ScriptBlock之间的区别Powershell
- 30. justify-content与align-content之间的区别
注意这里是“地图”抽象数据类型和`Map` Java接口之间的差异。正如在其他的答案中提到,传统`Dictionary`类_不_落实`Map` Java接口,但`HashMap`类一样。 – 2012-11-26 22:11:43