在.net framework中,hashtable是system.collections命名空間提供的乙個容器,用於處理和表現類似key/value的鍵值對,其中key通常可用來快速查詢,同時key是區分大小寫;value用於儲存對應於key的值。hashtable中key/ value鍵值對均為object型別,所以hashtable可以支援任何型別的key /value鍵值對。
和arraylist相同,hashtable集合也有增、刪、改、查等操作。給雜湊表新增元素,使用add()方法,示例**如下:
hashtable ht=new hashtable();//建立雜湊表
一、為雜湊表新增元素
ht.add("張三",1001);
ht.add("李四",1002);
ht.add("王五",1003);
二、刪除雜湊表中元素
刪除雜湊表中元素有兩種方法,clear()方法刪除所有元素,remove方法根據鍵來刪除元素。
ht.remove("趙敏");//刪除鍵為趙敏的元素
ht.clear;//刪除所有元素
三、修改雜湊表中元素
雜湊表的鍵是不可以修改的,只能修改鍵對應的值。修改雜湊表中的資料採用索引方式,按照鍵修改對應的值。下面**將為「周芷若」的值修改為等號右邊的值,示例**如下:
ht["周芷若"]=1005;
四、訪問雜湊表中元素
訪問雜湊表元素時,可以直接通過鍵名來獲取具體值。由於雜湊表儲存的元素都是object資料型別,所以對訪問的元素要注意型別轉換。
string str=ht["張三"].tostring();
五、遍歷雜湊表
雜湊表和arraylist不同,不能通過索引訪問,只能使用foreach來遍歷集合中的元素。下面的**獲取雜湊表的值:
//foreach遍歷雜湊表的值
foreach(objcet str in ht.value)
用foreach語句可以訪問雜湊表的值,也可以訪問雜湊表的鍵值。
//foreach遍歷雜湊表的鍵
foreach(objcet str in ht.keys)
使用字典物件及遍歷雜湊表集合,可以獲取雜湊表集合中的鍵和值。
//foreach遍歷雜湊表集合
foreach(dictionaryentry myde in ht)
\t",myde.key,myde.value);//輸出鍵和值}}
}注意:雜湊表中鍵值必須是唯一的,不能有相同的鍵,如果使用已存在的鍵值來儲存資料,將會丟擲異常。
泛型集合,非泛型集合
arraylist 非泛型集合 list 泛型集合 集合跟陣列比較我們更容易理解。陣列 1,長度固定2,資料型別預先宣告 集合 1,長度可變2,資料型別預先宣告的為泛型集合,資料型別不限定為非泛型 arraylist 長度不固定,元素資料型別為object的集合。object類之間或間接為所有類的父...
C 非泛型集合類 HashTable使用例項電話本
本例建立乙個 本,使用hashtable儲存 資訊,每個人的姓名和 作為乙個整體儲存,使用姓名作為鍵值,可以根據姓名查詢 號碼。1 建立控制台應用程式。2 建立乙個 本類telnote,此類只包括 本中的姓名,號字段和屬性。3 建立乙個編輯 本類telnoteedit,此類中完成 本的操作,包括存在...
C 非泛型集合類 使用HashTable組織資料
hashtable稱為雜湊表,是system.collections命名空間中的乙個重要的類。與arraylist不同,雜湊表可以儲存鍵 值 key value 對的集合。如果把雜湊表當做字典,那麼 鍵 就是字典中查的單詞,值 就是關於單詞解釋內容,正因為這個特點,有人也叫雜湊表稱作 字典 認識ha...