集合與泛型對應

整理一下集合型別對應的泛型型別:

集合型別對應泛型型別

集合型別泛型型別
ArrayListList(Of T)
QueueQueue(Of T)
StackStack(Of T)
HashtableDictionary(Of TKey, TValue)
SortedListSortedList(Of T)
ListDictionaryDictionary(Of TKey, TValue)
HybridDictionaryDictionary(Of TKey, TValue)
OrderedDictionaryDictionary(Of TKey, TValue)
NameValueCollectionDictionary(Of TKey, TValue)
DictionaryEntryKeyValuePair(Of T)
StringCollectionList(Of T)
StringDictionaryDictionary(Of TKey, TValue)
N/ALinkedList(Of T)

基本上是能使用泛型型別就盡量使用泛型型別,我覺得使用集合或泛型比較難的是,什麼時候要使用那一個集合或那一個泛型,這可能就需要實務與經驗。

集合

集合型別說明
ArrayList使用大小會視需要動態增加的陣列,實作 IList 介面。
Queue表示物件的先進先出 (FIFO) 集合。
Stack表示簡單之物件的後進先出 (Last-In First-Out,LIFO) 非泛型集合。
Hashtable表示根據索引鍵的雜湊程式碼組織而成的索引鍵/值組集合。
SortedList表示索引鍵/值組配對的集合,這個集合按索引鍵排序,而且可以按索引鍵和索引存取。
ListDictionary使用單向連結串列 (Singly-Linked List) 實作 IDictionary。建議的集合通常會包含 10 個以下的項目。
HybridDictionary若為小型集合,則使用 ListDictionary 實作 IDictionary,在它成為大型集合時,切換為 Hashtable。
OrderedDictionary表示可依索引鍵或索引存取的索引鍵/值組集合。
NameValueCollection表示相關 String 索引鍵和 String 值的集合,而這些可以利用索引鍵或索引來存取。
DictionaryEntry定義可設定或擷取的字典索引鍵/值組配對。
StringCollection表示字串的集合。
StringDictionary使用強型別索引鍵和值,將雜湊資料表實作為字串,而非物件。

泛型

泛型型別說明
List(Of T)表示可以依照索引存取的強型別物件清單。提供搜尋、排序和管理清單的方法。
Queue(Of T)Queue(Of T)
Stack(Of T)表示相同任意型別之執行個體的可變大小的後進先出 (Last-In First-Out,LIFO) 集合。
Dictionary(Of TKey, TValue)表示索引鍵和值的集合。
SortedDictionary(Of TKey, TValue)表示根據索引鍵,所排序的索引鍵/值組集合。
SortedList(Of TKey, TValue)表示根據關聯的 IComparer<(Of <(T>)>) 實作,依索引鍵所排序的索引鍵/值組集合。
KeyValuePair(Of TKey,TValue)定義可設定或擷取的索引鍵/值組。
LinkedList(Of T)表示雙向連結串列 (Doubly-Linked List)。

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。