3 回答

TA貢獻1876條經(jīng)驗 獲得超7個贊
System.Collections.Generic.Dictionary<TKey, TValue>和System.Collections.Hashtable類都在內(nèi)部維護哈希表數(shù)據(jù)結(jié)構(gòu)。它們都不能保證保留項目的順序。
除了裝箱/拆箱問題外,大多數(shù)情況下,它們應(yīng)該具有非常相似的性能。
它們之間的主要結(jié)構(gòu)差異是Dictionary依靠鏈接(為每個哈希表存儲桶維護一個項目列表)來解決沖突,而Hashtable使用重新哈?;瘉斫鉀Q沖突(當(dāng)發(fā)生沖突時,嘗試使用另一個哈希函數(shù)將鍵映射到存儲桶) 。
Hashtable如果您針對.NET Framework 2.0+ ,則使用類幾乎沒有好處。有效地使它過時了Dictionary<TKey, TValue>。

TA貢獻1866條經(jīng)驗 獲得超5個贊
哈希表和字典之間的區(qū)別
字典:
如果我們嘗試找到不存在的鍵,則字典返回錯誤。
字典比哈希表更快,因為沒有裝箱和拆箱。
字典是一種通用類型,這意味著我們可以將其與任何數(shù)據(jù)類型一起使用。
哈希表:
如果我們嘗試查找不存在的鍵,則Hashtable返回null。
哈希表比字典慢,因為它需要裝箱和拆箱。
哈希表不是通用類型,
- 3 回答
- 0 關(guān)注
- 586 瀏覽
添加回答
舉報