在大多数编程语言中,字典比哈希表更受欢迎。
这背后的原因是什么?
最佳答案:
就其价值而言,字典(概念上)是一个哈希表。
如果您的意思是“为什么我们要使用Dictionary<TKey, TValue>
类而不是Hashtable
类?”,这是一个简单的答案:Dictionary<TKey, TValue>
是一个通用类型,Hashtable
不是。这意味着您可以使用Dictionary<TKey, TValue>
获得类型安全性,因为您不能在其中插入任何随机对象,并且您不必强制转换所取的值。
有趣的是,.NET框架中的Dictionary<TKey, TValue>
实现是基于Hashtable
的,正如您可以从其源代码中的注释中看到的那样:
通用字典是从哈希表的源复制的。
Source