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