哈希表 Hashtable

Hashtable


  Hashtable是System.Collections命名空間提供的一個容器,用於處理和表現類似key-value的鍵值對,其中key通常可用來快速查找,同時key是區分大小寫且唯一,value用於存儲對應於key的值。Hashtable中key-value鍵值對均爲object類型,所以Hashtable可以支持任何類型的key-value鍵值對。


Hashtable的聲明

  聲明一個哈希表要用關鍵字 Hashtable。其語法格式與類的聲明相同。

    

    Hashtable ht=new Hashtable(); //聲明ht


Hashtable的屬性

  Hashtable常用的屬性有CountKeysValues,其中:Count是獲取Hashtable中的元素個數,Keys表示獲取 Hashtable 中的鍵的集合, Values 表示 Hashtable 中的所有值的集合。


    Hashtable ht = new Hashtable();

    ht.Add(1, 1);

    ht.Add(2, 2);

    ICollection Ic=ht.Keys; // ICollection 定義非泛型集合

    foreach (int i in Ic)

    {

         Console.WriteLine(i.ToString()+" "); // 顯示結果爲2 1

    }

    ht.add(3,"3");

    ht.add(4,"4");

    ICollection icv=ht.Values;

    forearch(object i in icv)

    {

        Console.WriteLine(i.ToString()+" ");  // 顯示結果爲4 3 2 1

    }

    int count=ht.Count; //結果爲4


Hashtable的方法

  C#爲我們提供了一些操作Hashtable常用的方法如下表:


        public virtual void Add( object key, object value ); 
        向 Hashtable 添加一個帶有指定的鍵和值的元素。


        public virtual void Clear(); 
        從 Hashtable 中移除所有的元素。


        public virtual bool ContainsKey( object key ); 
        判斷 Hashtable 是否包含指定的鍵。


        public virtual bool ContainsValue( object value ); 
        判斷 Hashtable 是否包含指定的值。


        public virtual void Remove( object key ); 
        從 Hashtable 中移除帶有指定的鍵的元素。


    using System;

    using System.Collections; //使用Hashtable時,必須引入這個命名空間

    namespace test

    {

     class hashtable

     {

         public static void Main()

         {

           Hashtable ht=new Hashtable(); //創建一個Hashtable實例

           //key值唯一,value值可以重複.

           ht.Add("E","e");//添加key/鍵值對

           ht.Add("A","a");

           ht.Add("C","c");

           ht.Add("B","b");

           string s=(string)ht["A"];

           if(ht.ContainsKey("E")) //判斷哈希表是否包含特定鍵,其返回值爲true或false

               Console.WriteLine("the E key:exist");

           ht.Remove("C");//移除一個key/鍵值對

           Console.WriteLine(ht["A"]);//此處輸出a

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

           Console.WriteLine(ht["A"]); //此處將不會有任何輸出

         }

        }

    }


Hashtable的元素訪問

  Hashtable使用鍵訪問元素。如下代碼:


    Hashtable ht=new Hashtable();

    ht.Add(1,"1");

    ht.Add(2,"2");

    string value1=ht[1].ToString(); // 結果爲1

    string value2=ht[2].ToString();  //結果爲2


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章