C 集合 集合

2021-09-24 07:55:59 字數 1012 閱讀 5946

1,什麼是集合

集合(collection)類是專門用於資料儲存和檢索的類。這些類提供了對棧(stack)、佇列(queue)、列表(list)和雜湊表(hash table)的支援。大多數集合類實現了相同的介面。

集合(collection)類服務於不同的目的,如為元素動態分配記憶體,基於索引訪問列表項等等。這些類建立object類的物件的集合。在c#中,object類是所有資料型別的基類。

2,常用的集合類

描述和用法

動態陣列(arraylist)

它代表了可被單獨索引的物件的有序集合。它基本上可以替代乙個陣列。但是,與陣列不同的是,您可以使用索引在指定的位置新增和移除專案,動態陣列會自動重新調整它的大小。它也允許在列表中進行動態記憶體分配、增加、搜尋、排序各項。

雜湊表(hashtable)

它使用鍵來訪問集合中的元素。當您使用鍵訪問元素時,則使用雜湊表,而且您可以識別乙個有用的鍵值。雜湊表中的每一項都有乙個鍵/值對。鍵用於訪問集合中的專案。

排序列表(sortedlist)

它可以使用鍵和索引來訪問列表中的項。排序列表是陣列和雜湊表的組合。它包含乙個可使用鍵或索引訪問各項的列表。如果您使用索引訪問各項,則它是乙個動態陣列(arraylist),如果您使用鍵訪問各項,則它是乙個雜湊表(hashtable)。集合中的各項總是按鍵值排序。

堆疊(stack)

它代表了乙個後進先出的物件集合。當您需要對各項進行後進先出的訪問時,則使用堆疊。當您在列表中新增一項,稱為推入元素,當您從列表中移除一項時,稱為彈出元素。

佇列(queue)

它代表了乙個先進先出的物件集合。當您需要對各項進行先進先出的訪問時,則使用佇列。當您在列表中新增一項,稱為入隊,當您從列表中移除一項時,稱為出隊。

點陣列(bitarray)

它代表了乙個使用值1和0來表示的二進位制陣列。當您需要儲存位,但是事先不知道位數時,則使用點陣列。您可以使用整型索引從點陣列集合中訪問各項,索引從零開始。

集合 集合運算

update pop remove 集合的運算 集合和字典相同都用 但是集合沒有鍵,只有元素值 集合中存貯列表會報錯,因為只能存貯不可變序列,而列表是可變的 直接建立 se print se,type se class set 通過set 建立 se set 1 2,3 4 這裡函式中用列表,因為要...

集合,集合的練習

set不支援 索引,切片,重複,連線,因為set是無序的 s print s 列表去重 li 1,2,3,1,2,3 print list set li s1 s2 print 並集 s1.union s2 並集 print 交集 s1.intersection s2 交集 求交集時,把s1的值更新...

集合,集合想破腦殼

集合已經學了兩天,感覺集合這塊細節內容比較多,各個集合之間方法也挺相似的。做起題目來有點不知道選擇哪乙個,有點茫然。老師上課講的習題看了一遍,也練習了一下,感覺還是掌握得不紮實。想乘著今天放假多總結一下,比較一下各個集合之間的相同點和不同點。面試題 必須會 請使用linkedlist 來模擬乙個堆疊...