集合與列表(2)

 

ICollection接口:擴展了接口INumerable,擴展了屬性Count,IsSynchronized和SyncRoot,另外還增加了方法CopyTo,在對象數組和對象的ICollection之間架起了橋樑。

 

Lists和IList:IList擴展了ICollection,而ICollection擴展了IEnumerable。IList定義了許多直觀的方法,如Add、Remove、Insert和Clear等;還有IsFixedSize、IsReadOnly和Item屬性,其中Item屬性使得類可以很方便的使用索引器的方式訪問其中的元素。

並且,Lists(IList)有3種形式:只讀IList、大小固定的IList和可變的IList。

 

字典和IDictionary:IDictionary擴展了ICollection,但不表示可以索引的一組對象,每個元素都是一個存儲在 DictionaryEntry(結構) 對象中的關鍵字/值對集合。其Add方法也把關鍵字和值作爲參數。Item屬性索引器也按照關鍵字來索引。

 

散列表(Hashtable)要點:Hashtable實現了IDictionary接口,因此在Hashtable中存儲的是DictionaryEntry,而使用foreach 語句時,需要集合中每個元素的類型。由於 Hashtable 的每個元素都是一個鍵/值對,因此元素類型既不是鍵的類型,也不是值的類型。而是 DictionaryEntry 類型。

 

Queue和Stack:Queue表示對象的先進先出集合。隊列在按接收順序存儲消息方面非常有用,以便於進行順序處理。此類將隊列作爲循環數組實現。存儲在 Queue 中的對象在一端插入,從另一端移除。

 

Stack與Queue正好相反。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章