HashTable 通常称为哈希表它表示键(key)/值(value)对的集合 HashTable 的构造函数 HashTable() //初始化为个元素的空实例 HashTable(Int) //初始化为int 个元素的新实例 例子 HashTable myHashTable = new HashTable(); HashTable myHashTable = new HashTable(); HashTable 元素的特点 HashTable 获取元素的方法是使用键访问键所对应的值即HashTable[key]下面是例子 using System; using SystemCollectionsGeneric; using SystemText; using SystemCollections; namespace Example_ { class Program { static void Main(string[] args) { Hashtable myHashTable = new Hashtable(); //插入相应的键和值组成的元素 myHashTableAdd(H); myHashTableAdd(e); myHashTableAdd(l); myHashTableAdd(l); myHashTableAdd(o); myHashTableAdd(int); myHashTableAdd(double); myHashTableAdd(booltrue); //修改相应的键和值组成的元素 myHashTable[int] = ; myHashTable[double] = ; myHashTable[bool] = false; //输出相应的键和值组成的元素 ConsoleWriteLine(myHashTable[]); ConsoleWriteLine(myHashTable[]); ConsoleWriteLine(myHashTable[]); ConsoleWriteLine(myHashTable[]); ConsoleWriteLine(myHashTable[]); ConsoleWriteLine(myHashTable[int]); ConsoleWriteLine(myHashTable[double]); ConsoleWriteLine(myHashTable[bool]); ConsoleReadLine(); } } } 程序运行结果如下 H e l l o
False Hashtable 元素的操作 ● 添加操作的定义如下 public virtual void Add(object keylbject value) 注意键不能为空值可以为空 ● 删除操作 HashTableClear() //删除所有元素不带任何参数清空后HashTable的元素个数为 示例myHashTableClear() HashTableRemove() //删除指定键所在的元素 其定义如下 public virtual void Remove(Object key) 示例myHashTableRemove(int); 如果HashTable 为只读时进行上述操作会出现异常 Hashtable 的遍历 由于Hashtable 的键值对属于DictionaryEntry类型所以在用foreach 遍历Hashtable 时类型参数是DictionaryEntry看下面示例 foreach (DictionatyEntrymyDE in myHashTable) { ConsoleWriteLine(\t{}\t{}myDEKeymyDEValue); //注意读取键值的方法 } Hashtable 的查询 Hashtable 查询有以下方法 ● HashtableContains //判断HashTable中是否包含指定键 ● HashtableContainsKey //判断HashTable中是否包含指定键同上 ● HashtableContainsValue //判断HashTable中是否包含指定值很好! 示例 ConsoleWriteLine(myHashTable 包含键{}myHashTableContains()); ConsoleWriteLine(myHashTable 包含键{}myHashTableContainsKey()); ConsoleWriteLine(myHashTable 包含值true{}myHashTableContainsValue(true)); ConsoleWriteLine(myHashTable 包含值{}myHashTableContainsValue()); HashTable 表的优点 HashTable是SystemCollections命名空间提供的一个容器HashTable中的key/value均为object类型所以HashTable可以支持任何类型的key/value键/值对 HashTable的优点就在于其索引的方式速度非常快 |