Dictionary和Hashtable有什么区别?我该如何得出使用哪个结论?任何人都可以帮助我吗?Dictionary和Hashtable之间的主要区别是什么
回答
Dictionary类与 Hashtable类的区别不同于一个。 除了被强类型化之外,词典还采用了 不同的冲突解决策略 战略比哈希表类, 使用一种称为 链接技术。
你可以阅读这篇文章:http://msdn.microsoft.com/en-us/library/ms379571(v=vs.80).aspx#datastructures20_2_topic6
这是非常有用的。
链接很有用... – Prateek 2013-01-31 12:30:43
散列表已过时。总是使用词典。
我在哈希表新手太多,但...
字典是具有两列的基本表(Key和Value,既具有某些类型)和大量的行以后添加。你会看到,在字典中你给一个关键字和字典给你以前用完全相同的键添加的价值。
在散列表中的东西稍有不同。你有两列的表(键和值,都是“对象”类型)。密钥可能不是唯一的。现在你虚拟有两个表:一列有两列:键和散列,另一列有两列哈希和值。哈希是从Key得到的一些整数值。事实证明,尽管Keys可能是唯一的,但Hashes可能不是。 [但我不知道这...所以我说:“virtualy” ...]
现在,例如:
Hashtable ht = new Hashtable();
// Key of type Int32
ht[16] = "That is Int32";
// Key of type String
ht["Blah"] = 15;
// Key of type Boolean
ht[false] = "That is boolean";
// Key of type String
ht["Hohoho"] = false;
,以后你可以访问存储在Hashtable中只使用密钥的任何值(如果没有这样的键返回null):
Console.WriteLine("ht[{0}] = {1};", 16, ht[16] ?? "null");
Console.WriteLine("ht[{0}] = {1};", "Test", ht["Test"] ?? "null"); // doesnt exist eh...
Console.WriteLine("ht[{0}] = {1};", false, ht[false] ?? "null");
Console.WriteLine("ht[{0}] = {1};", "Hohoho", ht["Hohoho"] ?? "null");
要sumarize:
字典是这样的:
[ Key ][ Value ]
A 1.5
B 1.6
C -8
....
和Hashtable probabily是这样的:
[ Key ][ Hash ]
A 1
B 2
C -99
...
[ Hash ][ Value ]
-99 -8
1 1.6
2 1.5
....
我希望这是任何有帮助的。任何人都可以更好地解释它,毫不犹豫地这样做。
谢谢,祝你好运。
- 1. @ {}和[Hashtable] :: Clear()之间有什么区别?
- 2. Hashtable和Properties之间的区别是什么?
- 3. java中的Array和Hashmap之间的主要区别是什么?
- 4. CTE和TEMP表格之间的主要区别是什么?
- 5. 框架和工具包之间的主要区别是什么?
- 6. Java SE和Java EE之间的主要区别是什么?
- 7. G1GC和SGen GC之间的主要区别是什么
- 8. VB Express 2008(pro)和2010之间的主要区别是什么?
- 9. C++中stdlib.h和cstdlib之间的主要区别是什么?
- 10. Python和PHP之间的主要区别是什么?
- 11. AsyncTask()和Handler()之间的主要区别是什么?
- 12. Rails 1.X和2.X之间的主要区别是什么
- 13. ReadOnly和Enabled之间的主要区别是什么?
- 14. Sinatra和Ramaze之间的主要区别是什么?
- 15. logstash和apache storm/spark streaming之间的主要区别是什么?
- 16. Compiler和Transpiler之间的主要区别是什么
- 17. 什么是Haskell,python和c函数之间的主要区别?
- 18. Ruby 1.8.6和1.9.1之间的主要区别是什么?
- 19. android中asynctask和thread之间的主要区别是什么?
- 20. 在VB.net ADODB和SqlClient之间的主要区别是什么
- 21. SVN客户端和API之间的主要区别是什么?
- 22. NSURLConnection connectionWithRequest:delegate和sendAsynchronousRequest:queue:completionHandler之间的主要区别是什么?
- 23. include_once和require_one之间的主要区别是什么?
- 24. kohana 3.0.x和3.1.0之间的主要区别是什么?
- 25. freeglut和glut之间的主要区别是什么
- 26. ContainerControlledLifetimeManager和HierarchicalLifetimeManager之间的主要区别是什么?
- 27. Meteor,Ember.js和Backbone.js之间的主要区别是什么?
- 28. Docker和Kubernetes之间的主要区别是什么
- 29. Socialauth,Scribe-Java和Spring Social之间的主要区别是什么?
- 30. Ext.Direct Pack和Ext.Air Pack之间的主要区别是什么
http://stackoverflow.com/questions/301371/why-dictionary-is-preferred-over-hashtable-in-c – Douglas 2011-03-03 09:42:58
查看下面类似的问题:http://stackoverflow.com/questions/1089132/net- hashtable-vs-dictionary-can-the-dictionary-as-as-fast – 2011-03-03 09:43:04