哈希表(Hash table)是一種常見的資料結構,也被稱為字典(Dictionary)或映射(Map)。它通常用於快速查找和檢索資料,並且具有非常高效的查找和插入操作。
在 C# 中,哈希表是使用 Dictionary<TKey, TValue> 類別來實現的。其中,TKey 表示鍵的型別,而 TValue 表示值的型別。
使用方法:
1.建立哈希表
使用方法:
1.建立哈希表
Dictionary<string, int> myDictionary = new Dictionary<string, int>();
2.添加鍵值對到哈希表中
myDictionary.Add("apple", 5);
myDictionary.Add("banana", 3);
myDictionary.Add("orange", 7);
3.檢查鍵是否存在於哈希表中
3.檢查鍵是否存在於哈希表中
bool containsKey = myDictionary.ContainsKey("apple");
4.獲取特定鍵的值
4.獲取特定鍵的值
int value = myDictionary["banana"];
5.更新特定鍵的值
5.更新特定鍵的值
myDictionary["orange"] = 10;
6.刪除特定鍵值對
myDictionary.Remove("banana");
7.獲取哈希表中的所有鍵
foreach (var key in myDictionary.Keys)
{
// 執行操作
}
8.獲取哈希表中的所有值
foreach (var kvp in myDictionary)
{
var key = kvp.Key;
var value = kvp.Value;
// 執行操作
}
9.獲取哈希表中的所有鍵值對
foreach (var kvp in myDictionary)
foreach (var kvp in myDictionary)
{
var key = kvp.Key;
var value = kvp.Value;
// 執行操作
}
注意事項:
1.在使用哈希表之前,需要引入 System.Collections.Generic 命名空間。
2.在哈希表中查找元素的時間複雜度是常數時間 O(1)。但是,哈希表的性能可能會受到哈希碰撞(Hash Collision)的影響,當兩個不同的鍵被映射到相同的哈希碼時,可能會導致性能下降。為了避免哈希碰撞,需要選擇一個好的哈希函數,或者使用 C# 中提供的 HashSet 或 SortedDictionary 等其他資料結構。