C# 集合(Collection)
集合(Collection)類是專門用於數據存儲和檢索的類。這些類提供了對棧(stack)、佇列(queue)、列表(list)和哈希表(hash table)的支持。大多數集合類實現了相同的介面。
集合(Collection)類服務於不同的目的,如為元素動態分配記憶體,基於索引訪問列表項等等。這些類創建 Object 類的對象的集合。在 C# 中,Object 類是所有數據類型的基類。
各種集合類和它們的用法
下麵是各種常用的 System.Collection 命名空間的類。點擊下麵的鏈接查看細節。
類 | 描述和用法 |
---|---|
動態數組(ArrayList) | 它代表了可被單獨索引的對象的有序集合。 它基本上可以替代一個數組。但是,與數組不同的是,您可以使用索引在指定的位置添加和移除專案,動態數組會自動重新調整它的大小。它也允許在列表中進行動態記憶體分配、增加、搜索、排序各項。 |
哈希表(Hashtable) | 它使用鍵來訪問集合中的元素。 當您使用鍵訪問元素時,則使用哈希表,而且您可以識別一個有用的鍵值。哈希表中的每一項都有一個鍵/值對。鍵用於訪問集合中的專案。 |
排序列表(SortedList) | 它可以使用鍵和索引來訪問列表中的項。
排序列表是數組和哈希表的組合。它包含一個可使用鍵或索引訪問各項的列表。如果您使用索引訪問各項,則它是一個動態數組(ArrayList),如果您使用鍵訪問各項,則它是一個哈希表(Hashtable)。集合中的各項總是按鍵值排序。 |
堆疊(Stack) | 它代表了一個後進先出的對象集合。 當您需要對各項進行後進先出的訪問時,則使用堆疊。當您在列表中添加一項,稱為推入元素,當您從列表中移除一項時,稱為彈出元素。 |
佇列(Queue) | 它代表了一個先進先出的對象集合。 當您需要對各項進行先進先出的訪問時,則使用佇列。當您在列表中添加一項,稱為入隊,當您從列表中移除一項時,稱為出隊。 |
點陣列(BitArray) | 它代表了一個使用值 1 和 0 來表示的二進位數組。 當您需要存儲位,但是事先不知道位數時,則使用點陣列。您可以使用整型索引從點陣列集合中訪問各項,索引從零開始。 |