集合及特殊集合
集合的基本信息:
System.Collections 命名空間包含接口和類,這些接口和類定義各種對象(如列表、隊列、位數組、哈希表和字典)的集合。
System.Collections.Generic 命名空間包含定義泛型集合的接口和類,泛型集合允許用戶創建強類型集合,它能提供比非泛型強類型集合更好的類型安全性和性能。
ystem.Collections.Specialized 命名空間包含專用的和強類型的集合,例如,鏈接的列表詞典、位向量以及只包含字符串的集合。
常用的集合為ArrayList類;特殊集合一般會用到Queue隊列集合、Stack棧集合還有Hashtable哈希表集合。
集合不同於數組,是一組可變數量的元素的組合,這些元素可能共享某些特征,需要以某種操作方式一起進行操作。一般來說,這些元素的類型是相同的。
集合與數組的區別:數組是連續的、同一類型數據的一塊區域,而集合可以是不連續的、多種數據類型的。
一、ArrayList集合:
ArrayList實現了IList、ICollection、IEnumerable接口;
ArrayList與Array的名字很相似,現在來比較一下兩者的異同。
相同點:
(1)兩者都實現了IList、ICollection、IEnumerable接口;
(2)兩者都可以使用整數索引訪問集合中的元素,包括讀取和賦值,且集合中的索引都從0開始。
不同點:
(1)ArrayList是集合,而Array是數組;
(2)ArrayList是具體類,Array是抽象類;
(3)數組必須在實例化時指定元素的數量,該數量一旦確定就不可以更改了,而ArrayList擴展了這一點,當實例化一個ArrayList實例時可以不指定集合元素數(有默認初始容量),當然你也可以指定初始容量;
(4)獲取數組的元素數時使用Length屬性,而獲取ArrayList集合的元素數時使用Count屬性;
(5)數組可以有多維,而ArrayList只能是一維。
ArrayList具體提供的功能: