HashTable应用

HashTable应用
 
一、哈希表(Hashtable)简述
在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对。
二、哈希表的简单操作
在哈希表中添加一个key/value键值对
HashTableObject.Add(key,value)
例子:
Hashtable myHT = new Hashtable();
myHT.Add(0, "zero");
myHT.Add(1, "one");
myHT.Add(2, "two");
myHT.Add(3, "three");
myHT.Add(4, "four");
在哈希表中去除某个key/value键值对
HashtableObject.Remove(key);
例子:
myHT.Remove(0);
从哈希表中移除所有元素
HashtableObject.Clear();
例子:
myHT.Clear();
判断键是否已经存在
HashTableObject.Contain(key)
返回一个bool值
例子:
bool b = myHT.Contain(1);
遍历键
foreach (object key in HashTableObject.keys){}
遍历值
foreach (object key in HashTableObject.values){}
遍历哈希表键值对
foreach (DictionaryEntry de in HashTableObject)
{
Console.WriteLine(de.Key);// 取得键
Console.WriteLine(de.Value);// 取得值
}
排序输出
ArrayList akeys = new ArrayList(HashTableObject.Keys);
akeys.Sort();  
例子
class Program
    {
        static void Main(string[] args)
        {
            Hashtable table = new Hashtable();
            Console.WriteLine("------------------------------------------");
            //哈希表的添加例子
            table.Add(0,"zero");
            table.Add(1, "one");
            table.Add(2, "two");
            table.Add(3, "three");
            //显示哈希表的记录
            PrintTable(table);
            Console.ReadKey();
            Console.WriteLine("------------------------------------------");
            //哈希表的删除例子
            Console.WriteLine("please input a num:");
            int i = int.Parse(Console.ReadLine());
            table.Remove(i);
            //显示哈希表的记录
            PrintTable(table);
            Console.ReadKey();
            Console.WriteLine("------------------------------------------");
            //哈希表判断是否有键存在
            Console.WriteLine("please input a num:");
            i = int.Parse(Console.ReadLine());
            Console.WriteLine("Value is a '{0}'",table.Contains(i));
            Console.WriteLine("------------------------------------------");
            //哈希表移除所有元素的例子
            table.Clear();
            //显示哈希表的记录
            PrintTable(table);
            Console.WriteLine("------------------------------------------");
            Console.ReadKey();
           
        }
        private static void PrintTable(Hashtable table)
        {
            foreach (DictionaryEntry d in table)//Dictionary
            {
                Console.WriteLine("{0}\t{1}",d.Key ,d.Value );
            }
           
        }
       
    }

posted on 2008-01-07 17:39  晓光  阅读(762)  评论(0编辑  收藏  举报

导航