2009年9月17日 星期四

使用SortedList集合(M03)

使用SortedList集合
  • 可使用數值索引(Index)和Key值存取集合中的項目
  • 類似HashTable與Array的組合體
  • 內部維護兩個陣列(以key排序的陣列和以Value排序的陣列)
  • 根據Key值進行排序
使用SortedList物件的考量
SortedList是Key/value配對所成的集合,以key值排序,可以利用key或索引存取其中的項目。當新增時,會適當進行排序,因此建立SortedList成本是相當昂貴的。
適用SortedList情境
  • 當資料變動性不大時,新增、刪除集合項目不頻繁,或資料量不大時。
  • 要快速利用索引值,或key值讀取集合中的項目時。
  • 需要排序的項目,或查詢特定物件時。
避免使用SortedList情境
  • 集合中的項目大量變動時,因為新增項目之後需排序,需花費很久時間。若變動性大,不如改成ArrayList,它也提供排序功能,但花費的時間比SortedList少。
  • 不要使用SortedList排序字串,會額外花費轉型的負擔,若有需要排序字串,可以改用StringCollection集合。
==================================================
使用StringCollection集合
  • 定義在System.Collections.Specialized命名空間
  • StringCollection集合
=>位於System.Collections.Specialized命名空間之下
=>許多字串所成的集合
  • StringDictionary集合
=>內部實作一個HashTable
=>每個項目是一個DictionaryEntry物件

沒有留言:

張貼留言