C#:哈希表

哈希表(HashTable):是根据关键码值(Key,Value)而直接访问的数据结构。通过把关键码值映射到表中一个位置来访问记录,以加快查找速度。                                                                                                                                              --百度百科

1.如何使用哈希表:

using System.Collections;//导入集合命名空间,在开头写下这句代码后才能使用哈希表

Hashtable ht = new Hashtable();//实例化哈希表

2.哈希表的基本用法与结构:

ht.Add(key,value);//key是键,用以访问集合中的元素;value是值,自然就是key所对应的数值。该句代码的代码用于向集合中添加元素。

-key与value都是object类型的,因此可以填写任何格式的数据

ht.Remove(key);//删除key,而同时也删除key所对应的value值。

ht.Contains(key);//判断哈希表中是否有这个key。

-注意,这个方法是bool类型的,也就是说输出值只有true或false。

3.哈希表的特点:

哈希表key值不能出现重复值,并且排列是无序的。

4.遍历哈希表:

以下两种情况我通过例子来讲解。

4.1遍历哈希表的key:

ht.Add(1,"小任");


foreach(object item in ht.Keys)//Keys对应输出key的值
{
    Console.WriteLine(key);
}

Console.ReadKey();

这样输出的结果是Key的值;

4.2遍历哈希表的value:

ht.Add(2,""老任);


foreach(object value in ht.Values)//Values对应输出value的值
{
    Console.WriteLine(value);
}

Console.ReadKey();

这样输出的结果是value的值;

4.3遍历哈希表的key值,但输出结果是value的值:

ht.Add(3,"超任");


foreach(object key in Keys)
{
    Console.WriteLine(ht[key]);
}


Console.ReadKey();

这种情况虽然遍历的是key值,但因在writeline里输入的是集合ht中的key所对应的值,因此输出还是value值:

猜你喜欢

转载自blog.csdn.net/Marshallren/article/details/86589376