C#哈希表HashTable

发布时间:2018-06-21编辑:佚名阅读(1280)

1、哈希表需要使用的namespace

using System.Collections;

2、哈希表的基本操作

Hashtable ht = new Hashtable();  
//添加一个keyvalue键值对  
ht.Add(Key, value);  
  
//移除某个keyvalue键值对  
ht.Remove(key);  
  
//移除所有元素  
ht.Clear();  
  
//判断是否包含特定键key  
ht.Contains(key);

3、foreach遍历哈希表

Hashtable ht = new Hashtable();
ht.Add("first", "Beijing");  
ht.Add("second", "Shanghai");  
ht.Add("third", "Hangzhou");  
ht.Add("forth", "Nanjing");  
  
//遍历法一:遍历哈希表中的键  
foreach (string key in Hashtable.keys)  
{  
    Console.WriteLine(Hashtable[key]);  
}  
Console.WriteLine("---------------");  
  
//遍历法二:遍历哈希表中的值  
foreach (string value in Hashtable.Values)  
{  
    Console.WriteLine(value );  
}  
Console.WriteLine("---------------");  
  
//遍历法三:遍历哈希表中的键值  
foreach (DictionaryEntry de in Hashtable )  
{  
    Console.WriteLine(de.Value );  
}  
Console.WriteLine("---------------");  
  
//遍历法四:遍历哈希表中的键值  
IDictionaryEnumerator myEnumerator = Hashtable.GetEnumerator();  
{  
    Console.WriteLine(Hashtable[myEnumerator.Key]);  
}

4、对哈希表进行排序

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

ArrayList akeys=new ArrayList(ht.Keys); //别忘了导入System.Collections
akeys.Sort(); //按字母顺序进行排序
foreach(string skey in akeys)
{
     Console.Write(skey + ":");
     Console.WriteLine(ht[skey]);//排序后输出
}


  关键字:C#哈希表HashTable


鼓掌

0

正能量

0

0

呵呵

0


评论区