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