知识大全 C#中HashTable简介和使用用法

Posted 函数

篇首语:世界之大,而能获得最公平分配的是常识。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#中HashTable简介和使用用法相关的知识,希望对你有一定的参考价值。

C#中HashTable简介和使用用法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  一 简介

  名词介绍 散列表(Hash table 也叫哈希表) 是根据关键码值(Key value)而直接进行访问的数据结构 也就是说 它通过把关键码值映射到表中一个位置来访问记录 以加快查找的速度 这个映射函数叫做散列函数 存放记录的数组叫做散列表

  HashTable 表的优点 HashTable是System Collections命名空间提供的一个容器 HashTable中的key/value均为object类型 所以HashTable可以支持任何类型的key/value键/值对

  HashTable的优点就在于其索引的方式 速度非常快

  二 哈希表的简单操作

  在哈希表中添加一个keyvalue键值对 HashtableObject Add(key value);

  在哈希表中去除某个keyvalue键值对 HashtableObject Remove(key);

  从哈希表中移除所有元素 HashtableObject Clear();

  判断哈希表是否包含特定键key HashtableObject Contains(key);

  下面控制台程序将包含以上所有操作

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  using System;

  using System Collections;       //file使用Hashtable时 必须引入这个命名空间

  class hashtable

  

  public static void Main()

  

  Hashtable ht=new Hashtable();  //file创建一个Hashtable实例

  ht Add(E e);                   //添加keyvalue键值对

  ht Add(A a);

  ht Add(C c);

  ht Add(B b);

  string s=(string)ht[A];

  if(ht Contains(E))             //file判断哈希表是否包含特定键 其返回值为true或false

  Console WriteLine(the E keyexist);

  ht Remove(C);                 //移除一个keyvalue键值对

  Console WriteLine(ht[A]);     //此处输出a

  ht Clear();                   //移除所有元素

  Console WriteLine(ht[A]);     //file此处将不会有任何输出

  

  

  三 遍历哈希表

  遍历哈希表需要用到DictionaryEntry Object 代码如下

  for(DictionaryEntry de in ht) // fileht为一个Hashtable实例

  

  Console WriteLine(de Key);   //de Key对应于keyvalue键值对key

  Console WriteLine(de Value); //de Key对应于keyvalue键值对value

  

  四 对哈希表进行排序

  对哈希表进行排序在这里的定义是对keyvalue键值对中的key按一定规则重新排列 但是实际上这个定义是不能实现的 因为我们无法直接在Hashtable进行对key进行重新排列 如果需要Hashtable提供某种规则的输出 可以采用一种变通的做法

  ArrayList akeys=new ArrayList(ht Keys);  // file别忘了导入System Collections

  akeys Sort();                           // file按字母顺序进行排序

  for(string skey in akeys)

  

  Console Write(skey + );

  Console WriteLine(ht[skey]);            // 排序后输出

cha138/Article/program/net/201311/12422

相关参考