C# 字典和哈希表的主要区别是什么
字典和哈希表的区别是什么。我怎样才能得出使用哪一个的结论?有人能帮我吗?哈希表已经过时了。经常使用字典 Dictionary类不同于 Hashtable类有多种方式。 除了强类型之外, 该词典还采用了 不同的碰撞分辨率 策略,而不是哈希表类, 使用一种称为 锁链 您可以阅读本文:C# 字典和哈希表的主要区别是什么,c#,.net,collections,C#,.net,Collections,字典和哈希表的区别是什么。我怎样才能得出使用哪一个的结论?有人能帮我吗?哈希表已经过时了。经常使用字典 Dictionary类不同于 Hashtable类有多种方式。 除了强类型之外, 该词典还采用了 不同的碰撞分辨率 策略,而不是哈希表类, 使用一种称为 锁链 您可以阅读本文: 它真的很有用。我也是哈希表的新手,但是 Dictionary是一个基本表,有两列(键和值,都有特定的类型)和许多以后添加的行。您将看到,在dictionary中,您提供了一个键,dictionary为您提供了以前使用完
它真的很有用。我也是哈希表的新手,但是 Dictionary是一个基本表,有两列(键和值,都有特定的类型)和许多以后添加的行。您将看到,在dictionary中,您提供了一个键,dictionary为您提供了以前使用完全相同的键添加的值 在哈希表中,情况略有不同。表中又有两列(键和值,都是“对象”类型)。这些键可能不是唯一的。现在您实际上有两个表:一个有两列:Key和Hash,另一个有两列Hash和Value。哈希是从密钥中获取的某个整数值。结果表明,虽然键可能是唯一的,但哈希可能不是唯一的。 [但我对此不确定…所以我说“虚拟”…] 现在举个例子:
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;
稍后,您可以仅使用键访问哈希表中存储的任何值(如果没有这样的键,则返回null):
概括地说:
字典是这样的:
[ Key ][ Value ]
A 1.5
B 1.6
C -8
....
[ Key ][ Hash ]
A 1
B 2
C -99
...
[ Hash ][ Value ]
-99 -8
1 1.6
2 1.5
....
哈希表可能是这样的:
[ Key ][ Value ]
A 1.5
B 1.6
C -8
....
[ Key ][ Hash ]
A 1
B 2
C -99
...
[ Hash ][ Value ]
-99 -8
1 1.6
2 1.5
....
我希望这对你有帮助。任何能更好地解释它的人,都可以毫不犹豫地这样做
谢谢你,祝你好运。请参见下面的类似问题: