C# 集合(Collection)

2022-09-20 15:13 更新

集合(Collection)類(lèi)是專門(mén)用于數(shù)據(jù)存儲(chǔ)和檢索的類(lèi)。這些類(lèi)提供了對(duì)棧(stack)、隊(duì)列(queue)、列表(list)和哈希表(hash table)的支持。大多數(shù)集合類(lèi)實(shí)現(xiàn)了相同的接口。

集合(Collection)類(lèi)服務(wù)于不同的目的,如為元素動(dòng)態(tài)分配內(nèi)存,基于索引訪問(wèn)列表項(xiàng)等等。這些類(lèi)創(chuàng)建 Object 類(lèi)的對(duì)象的集合。在 C# 中,Object 類(lèi)是所有數(shù)據(jù)類(lèi)型的基類(lèi)。


各種集合類(lèi)和它們的用法

下面是各種常用的 System.Collection 命名空間的類(lèi)。點(diǎn)擊下面的鏈接查看細(xì)節(jié)。

類(lèi) 描述和用法
動(dòng)態(tài)數(shù)組(ArrayList) 它代表了可被單獨(dú)索引的對(duì)象的有序集合。

它基本上可以替代一個(gè)數(shù)組。但是,與數(shù)組不同的是,您可以使用索引在指定的位置添加和移除項(xiàng)目,動(dòng)態(tài)數(shù)組會(huì)自動(dòng)重新調(diào)整它的大小。它也允許在列表中進(jìn)行動(dòng)態(tài)內(nèi)存分配、增加、搜索、排序各項(xiàng)。

哈希表(Hashtable) 它使用來(lái)訪問(wèn)集合中的元素。

當(dāng)您使用鍵訪問(wèn)元素時(shí),則使用哈希表,而且您可以識(shí)別一個(gè)有用的鍵值。哈希表中的每一項(xiàng)都有一個(gè)鍵/值對(duì)。鍵用于訪問(wèn)集合中的項(xiàng)目。

排序列表(SortedList) 它可以使用索引來(lái)訪問(wèn)列表中的項(xiàng)。

排序列表是數(shù)組和哈希表的組合。它包含一個(gè)可使用鍵或索引訪問(wèn)各項(xiàng)的列表。如果您使用索引訪問(wèn)各項(xiàng),則它是一個(gè)動(dòng)態(tài)數(shù)組(ArrayList),如果您使用鍵訪問(wèn)各項(xiàng),則它是一個(gè)哈希表(Hashtable)。集合中的各項(xiàng)總是按鍵值排序。

堆棧(Stack) 它代表了一個(gè)后進(jìn)先出的對(duì)象集合。

當(dāng)您需要對(duì)各項(xiàng)進(jìn)行后進(jìn)先出的訪問(wèn)時(shí),則使用堆棧。當(dāng)您在列表中添加一項(xiàng),稱為推入元素,當(dāng)您從列表中移除一項(xiàng)時(shí),稱為彈出元素。

隊(duì)列(Queue) 它代表了一個(gè)先進(jìn)先出的對(duì)象集合。

當(dāng)您需要對(duì)各項(xiàng)進(jìn)行先進(jìn)先出的訪問(wèn)時(shí),則使用隊(duì)列。當(dāng)您在列表中添加一項(xiàng),稱為入隊(duì),當(dāng)您從列表中移除一項(xiàng)時(shí),稱為出隊(duì)。

點(diǎn)陣列(BitArray) 它代表了一個(gè)使用值 1 和 0 來(lái)表示的二進(jìn)制數(shù)組。

當(dāng)您需要存儲(chǔ)位,但是事先不知道位數(shù)時(shí),則使用點(diǎn)陣列。您可以使用整型索引從點(diǎn)陣列集合中訪問(wèn)各項(xiàng),索引從零開(kāi)始。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)