c 中的雜湊表(HashTable)例項詳解

2021-09-30 04:28:03 字數 3397 閱讀 1597

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,來存放這些學...