C#-集合Hashtable與Dictionary 106

Hashtable,中文叫雜湊表,裡面的英文是Hash,音譯是雜湊,但Hash還有另一個名字,就是“雜湊”,所以也叫散列表,也是資料結構的一種,資料結構有集合,樹形等,集合Hashtable與Dictionary與之前兩個的不同之處是此集合是儲存的鍵值對,也可以叫鍵值對集合,因為鍵必須是唯一的。所以鍵值對集合查詢時不是使用的迴圈遍歷的方式而是透過其內部的計算方式得到,使用查詢起來比較快

Hashtable的定義格式:

Hashtable ht = new Hashtable();

這兩個集合的方法與屬性與之前的差不多,圖中只列舉比較常用的幾個方法;鍵值對集合無法使用for迴圈遍歷,只能使用foreach迴圈來進行遍歷

C#-集合Hashtable與Dictionary 106

Hashtable

foreach迴圈的特點: 1)迴圈式只進的 2)迴圈只讀的,只能檢視,不能修改資料

因為Hashtable集合新增的鍵值對都是object型別,所以遍歷集合時使用的資料型別是DictionaryEntry,透過這個型別才能在遍歷時點出Key,Value屬性即集合的鍵和值

Dictionary集合的格式:Dictionary dic = new Dictionary();

Dictionary中的T,K相當於佔位符,它們可以是int,string,bool等資料型別,其中的方法屬性遍歷,與上面的相同,不再贅述

C#-集合Hashtable與Dictionary 106

Dictionary

Dictionary集合中一旦定義時將資料型別確定,之後新增資料時與List集合一樣

List4個集合中List與Dictionary相當於ArrayList和Has和Hashtable的升級版,所以以後使用集合時都推薦使用List與Dictionary,因為資料型別確定使用時不用再進行資料型別轉換,不用進行裝箱拆箱效率更高