集合的基本信息:
System.Collections命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。
System.Collections.Generic命名空间包含定义泛型集合的接口和类,泛型接口允许用户创建强类型集合,它能提供比非泛类型强类型集合更好的类型安全性和性能。
System.Collections.Specialized命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。
常用的集合为ArrayList类:特殊集合一般会用到Queue队列集合,Stack栈集合还有Hashtable哈希表集合。
集合不同于数组,是一组可变数量的元素的组合,这些元素可能共享某些特征,需要以某种操作方式一起进行操作。一般来说,这些元素的类型是相同的。
集合与数组的区别:数组是连续的、用一类型的数据的一块区域,而集合可以是不连续的多种数据类型的。
一、ArrayList集合:
ArrayList实现了lList、lCollection、lEnumerable接口;
ArrayList与Array的名字很相似,现在来比较一下两者的异同:
相同点:
(1)ArrayList是集合,而Array是数组
(2)两者都可以使用整数索引访问集合中的元素,包括读取和赋值,且集合中的索引都是从0开始。
(3)数组必须在实例化时指定元素的数量,该数量一旦确定就不可以更改了,而ArrayList扩展了这一点,当实例化一个ArrayList实例时可以不指定集合元素数(有默认初始容量),当然也可以指定初始容量。
(4)获取数组的元素数时使用Length属性,而获取ArrayList集合的元素数时使用Count属性。
(5)数组可以有多维,而ArrayList只能是一维。