c#中的雜湊表(hashtable)例項詳解: hashtable 通常稱為雜湊表,它表現鍵(key)/值(value)對的聚攏。 1、hashtable 的結構函式: hashtable() //初始化為0個元素的空例項 hashtable(int32) //初始化為int32 個元素的新例項 例子:
hashtable 通常稱為雜湊表,它表現 鍵(key)/值(value)對的聚攏 。
1、hashtable 的結構 函式:
hashtable() //初始化為0個元素的空例項
hashtable(int32) //初始化為int32 個元素的新例項
例子:hashtable myhashtable1 = new hashtable();
hashtable myhashtable2 = new hashtable(5);
2、hashtable 元素的特性
hashtable 獲取元素的法子 是應用 「鍵」造訪 鍵所對應的值,即hashtable[key]。下面是例子:
using system;
using system.collections.generic;
using system.text;
using system.collections;
namespace example9_22
class program
static void main(string args)
hashtable myhashtable = new hashtable();
//插入相應的鍵和值組成的元素
myhashtable.add(1,"h");
myhashtable.add(2,"e");
myhashtable.add(3,"l");
myhashtable.add(4,"l");
myhashtable.add(5,"o");
myhashtable.add("int",1);
myhashtable.add("double",2.3);
myhashtable.add("bool",true);
//修正 相應的鍵和值組成的元素
myhashtable["int"] = 23;
myhashtable["double"] = 1.5;
myhashtable["bool"] = false;
//輸出相應的鍵和值組成的元素
console.writeline(myhashtable[1]);
console.writeline(myhashtable[2]);
console.writeline(myhashtable[3]);
console.writeline(myhashtable[4]);
console.writeline(myhashtable[5]);
console.writeline(myhashtable["int"]);
console.writeline(myhashtable["double"]);
console.writeline(myhashtable["bool"]);
console.readline();
程式執行效果 如下:he
llo1.5
false
3、hashtable 元素的操作
● 新增操作的定義如下:
public virtual void add(object key,lbject value)
注意:「鍵」不能為空,「值可覺得空」。
● 刪除操作:
hashtable.clear() //刪除所有元素,不帶任何引數,清空後hashtable的元素個數為0。
示例:myhashtable.clear()
hashtable.remove() //刪除指定「鍵」所在的元素。
其定義如下:
public virtual void remove(object key)
示例:myhashtable.remove("int");
如果hashtable 為唯讀時進行上述操作會出現異常。
4、hashtable 的遍歷
由於hashtable 的鍵值對屬於dictionaryentry型別,所以在用foreach 遍歷hashtable 時,型別引數是:dictionaryentry。看下面示例:
foreach (dictionatyentry,myde in myhashtable)
console.writeline("/t/t",myde.key,myde.value); //注意讀取鍵值的法子
5、hashtable 的查詢
hashtable 查詢有以下法子 :
● hashtable.contains //確定 hashtable中是否包孕 指定「鍵」。
● hashtable.containskey //確定 hashtable中是否包孕 指定「鍵」。同上
● hashtable.containsvalue //確定 hashtable中是否包孕 指定值。很好!
示例:console.writeline("myhashtable 包孕 鍵1:",myhashtable.contains(1));
console.writeline("myhashtable 包孕 鍵6:",myhashtable.containskey(6));
console.writeline("myhashtable 包孕 值true:",myhashtable.containsvalue(true));
console.writeline("myhashtable 包孕 值3.3:",myhashtable.containsvalue(2.2));
6、hashtable 表的優點
hashtable是system.collections命名供給 的乙個容器,hashtable中的key/value均為object型別,所以hashtable可以支撐 任何型別的key/value鍵/值對。
hashtable的優點 就在於其索引的法子 ,速度非常快。
static void main(string args)
;hashtable myhash = new hashtable();
foreach (object o in arr)
else
}foreach (dictionaryentry myde in myhash)
", myde.key.tostring());
}foreach (dictionaryentry myde in myhash)
元素出現的次數", myde.key.tostring(), myde.value.tostring());
}console.readkey();
}
C 中的雜湊表 Hashtable 應用
一.雜湊表 hashtable 簡述 在.net framework中,hashtable是system.collections命名空間提供的乙個容器,用於處理和表現類似key value的鍵值對,其中key通常可用來快速查詢,同時key是區分大小寫 value用於儲存對應於key的值。hashta...
C 中的雜湊表 Hashtable 應用
一.雜湊表 hashtable 簡述 在.net framework中,hashtable是system.collections命名空間提供的乙個容器,用於處理和表現類似key value的鍵值對,其中key通常可用來快速查詢,同時key是區分大小寫 value用於儲存對應於key的值。hashta...
hash table 雜湊表(雜湊表)
hash table 也叫雜湊表。涉及到雜湊函式 雜湊衝突處理的問題。雜湊函式是雜湊表的關鍵,是用來從值到雜湊表索引 存放位置 的對映。比如 要存放乙個學校學生的姓名,他們是amanda,jack,andy,tom,bob,black等等500個人。我們可以設計乙個雜湊表,容量為500,來存放這些學...