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. hashmap 1.4和1.6之间的区别
- 5. json字典与散列之间的区别
- 6. namedtuple与冻结字典之间的区别
- 7. 向量和链接列表之间的区别ADT
- 8. 结构和列表ADT之间的用法区别是什么?
- 9. 时间()与stime()之间的区别
- 10. JSON之间,字典和对象的区别?
- 11. 字典和哈希表之间的真正区别是什么?
- 12. java中的Array和Hashmap之间的主要区别是什么?
- 13. 并行流与CompletableFuture之间的区别
- 14. Session.Clear()与Session.Contents.Clear()之间的区别
- 15. justify-content与align-content之间的区别
- 16. system.out与system.err之间的区别
- 17. Ember:unloadRecord与新记录之间的区别
- 18. SBT编译与compileIncremental之间的区别
- 19. 年份与周年之间的区别?
- 20. <%! %>与<% %>之间的区别
- 21. home_url()与get_option('home')之间的区别
- 22. $ q.resolve()与deferred.resolve()之间的区别 - AngularJS
- 23. Linux与Solaris之间的awk区别
- 24. .ajaxSubmit()与.submit()之间的区别
- 25. 新建与覆盖之间的区别?
- 26. add_filter与add_action之间的区别
- 27. req.session与req.app和app.set之间的区别
- 28. express.response.status()与response.sendStatus()之间的区别
- 29. Microsoft.VisualStudio.TestPlatform.TestFramework与Microsoft.VisualStudio.QualityTools.UnitTestFramework之间的区别
- 30. 查找与关系之间的区别
注意这里是“地图”抽象数据类型和`Map` Java接口之间的差异。正如在其他的答案中提到,传统`Dictionary`类_不_落实`Map` Java接口,但`HashMap`类一样。 – 2012-11-26 22:11:43