哈希表Hashtable
哈希表又称散列表,表示键值对的集合;
哈希表保存集合元素时,首先要根据建自动计算哈希代码,以确定该元素的保存位置,再把元素的值放入相应位置所指
向的存储桶中;
查找时,再次通过所对应的哈西代码到特定的存储桶中搜索,这样可以极大的提高查找一个元素的效率;
创建哈希表对象形式:
Hashtable 哈希表名 = new Hashtable([哈希表长度][,增长因
子]);
说明:哈希表默认长度为0,默认增长因子为1.0。
方法:
Add数据的添加;
Remove移除;
Clear清空;;
Contains查询;
代码:
Console.WriteLine();
//哈希表Hashtable:先进后出,一个一个赋值,但只能一起取值??
Hashtable ht = new Hashtable();
ht.Add(1, "a");
ht.Add(2, "b");
ht.Add(3, "c");
ht.Add(4, "d");
ht.Add(5, "e");
//检查是否包含某个数据,若有,返回true,若无,返回false
//查询时是通过key的值查询,不能直接查询values值
Console.WriteLine(ht.Contains(3));
Console.Write("对象个数:");
Console.WriteLine(ht.Count);
//单纯的存储key的值
Console.WriteLine("存储key的值");
foreach (int ht1 in ht.Keys)
{
Console.WriteLine(ht1);
}
Console.WriteLine("读取添加的值");
foreach (string ht2 in ht.Values)
{
Console.WriteLine(ht2);
}
ht.Remove(3);
//检查是否包含某个数据,若有,返回true,若无,返回false
Console.WriteLine(ht.Contains(3));
//Console.WriteLine(ht.Contains("c"));
Console.Write("对象个数:");
Console.WriteLine(ht.Count);
Console.WriteLine("读取清除后剩下的值");
foreach (string ht2 in ht.Values)
{
Console.WriteLine(ht2);
}
//清楚
ht.Clear();
//检查是否包含某个数据,若有,返回true,若无,返回false
Console.WriteLine(ht.Contains(4));
//剩下对象个数
Console.Write("对象个数:");
Console.WriteLine(ht.Count);