C#中hashtable 的使用方法
C#中hashtable 的使用方法哈希表Hashtable是一个重要的集合类型,下面对他的基本用法做个小小的总结。
一、名词介绍
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
二、HashTable 表的优点
HashTable是System.Collections命名空间提供的一个容器,HashTable中的key/value均为object类型,所以HashTable可以支持任何类型的key/value键/值对。
HashTable的优点就在于其索引的方式,速度非常快。
Hashtable常用的两种构造函数:public Hashtable() public Hashtable(int capacity)
三、向Hashtable添加元素
向Hashtable添加元素时,可以采用系统提供的Add方法。其语法格式如:public virtual void Add(Object key,Object value)
下面举个详细点的例子如:
Hashtable hashtable = new Hashtable(); //实例化Hashtable对象
hashtable.Add("id", "600719"); //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "男");
Console.WriteLine(hashtable.Count); //获得Hashtable哈希表中的元素个数
四、删除Hashtable中的元素
1、Clear方法:该方法用来移除Hashtable中的所有元素,其语法格式如:public virtual void Clear()
Hashtable hashtable = new Hashtable(); //实例化Hashtable对象
hashtable.Add("id", "600719"); //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "男");
hashtable.Clear(); //移除Hashtable哈希表中的元素
Console.WriteLine(hashtable.Count);
2、Remove方法:该方法用来从Hashtable中移除带有指定键的元素,其语法格式如下:public virtual void Remove(Object value)
Hashtable hashtable = new Hashtable(); //实例化Hashtable对象
hashtable.Add("id", "600719"); //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "男");
hashtable.Remove("sex"); //移除Hashtable哈希表中的指定元素
Console.WriteLine(hashtable.Count);
五、Hashtable的遍历
遍历其实与数组类似,但是Hashtable中的元素是一个键值对的集合,因此需要使用DictionaryEntry类型来遍历,下面通过一个例子来说明下吧!
Hashtable hashtable = new Hashtable(); //实例化Hashtable对象
hashtable.Add("id", "600719"); //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "男");
Console.WriteLine("\\t 键\\t 值");
//遍历Hashtable哈希表中的元素并输出其键值对
foreach (DictionaryEntry dicEntry in hashtable)
{
Console.WriteLine("\\t " + dicEntry.Key + "\\t " + dicEntry.Value);
}
Console.WriteLine();
六、Hashtable提供的其它方法介绍
1、Contains方法:该方法用来确定Hashtable中是否包含特定键,其语法格式如:public virtual bool Contains(Object key)
Hashtable hashtable = new Hashtable(); //实例化Hashtable对象
hashtable.Add("id", "600719"); //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "男");
Console.WriteLine(hashtable.Contains("id")); //判断Hashtable哈希表中是否包含指定的键
Hashtable hashtable = new Hashtable(); //实例化Hashtable对象
hashtable.Add("id", "600719"); //向Hashtable哈希表中添加元素
hashtable.Add("name", "denylau");
hashtable.Add("sex", "男");
Console.WriteLine(hashtable.ContainsValue("id")); //判断Hashtable哈希表中是否包含指定的键值