類實現一個哈希表,該哈希表將鍵映射到相應的值。任何非 null 對象都可以用作鍵或值。為了成功地在哈希表中存儲和獲取對象,用作鍵的對象必須實現 hashCode 方法和 equals 方法。
基本介紹
- 中文名:哈希表
- 外文名:HashTable
- 參數影響:初始容量 和載入因子
- 實現:hashCode方法和equals方法
- 用途:存儲和獲取對象
簡述
Hashtable<String, Integer> numbers = new Hashtable<String, Integer>();numbers.add("one", 1);numbers.add("two", 2);numbers.add("three", 3);
Integer n = numbers.get("two");if (n != null) {System.out.println("two = " + n);}}
Hashtable<String, Integer> numbers = new Hashtable<String, Integer>(); numbers.put("one", 1); numbers.put("two", 2); numbers.put("three", 3);
Integer n = (Integer)numbers.get("two");if (n != null) {System.out.println("two = " + n);}
簡單操作
using System;using System.Collections; //使用Hashtable時,必須引入這個命名空間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.Contains("E")) //判斷哈希表是否包含特定鍵,其返回值為true或falseConsole.WriteLine("the E key:exist");ht.Remove("C");//移除一個key/鍵值對Console.WriteLine(ht["A"]);//此處輸出aht.Clear();//移除所有元素Console.WriteLine(ht["A"]); //此處將不會有任何輸出}}
哈希表
for(DictionaryEntry de in ht) //ht為一個Hashtable實例{Console.WriteLine(de.Key);//de.Key對應於key/鍵值對keyConsole.WriteLine(de.Value);//de.Key對應於key/鍵值對}
排序
ArrayList akeys=new ArrayList(ht.Keys); //別忘了導入System.Collectionsakeys.Sort(); //按字母順序進行排序for(string skey in akeys){Console.Write(skey+ ":");Console.WriteLine(ht[skey]);//排序後輸出}