- Key/Value成對出現的資料結構。
- 項目存放的順序,和加入的先後次序無關,內部項目排列順序是根據HashCode排序。
- 索引鍵可以是文字或數值。
程式實作
Module Module1
Sub Main()
Dim ht As Hashtable = New Hashtable
ht("10") = "Mary"
ht("20") = System.DateTime.Now
ht("30") = 100
For Each o As DictionaryEntry In ht
Console.WriteLine("Key:{0}-->Value:{1}", o.Key.ToString, o.Value.ToString)
Next
ht.Remove("10")
End Sub
End Module
使用Hashtable的考量
- 適用在變動程度高,以及不易變動資料上。當然由於Hashtable根據Hash Code排序,資料變動的程度高代表要額外花費計算hash值的成本。
- 如果集合中項目少於10個,使用ListDictionary來存放Key/Value配對所成的集合,可得較佳的效能。
使用HybridDictionary
- 位於System.Collections.Specialized命名空間之下
- 集合中的項目需要Key/Value配對出現
- 內部用來儲存資料的物件(項目少:使用ListDictionary;項目多:使用HashTable)
- 適合在無法預期集合中的資料量時
- 不適用在排序
沒有留言:
張貼留言