集合(Collection):专门用于数据存储和检索的类,用于存放一组数据,和数组类似,可以动态的对集合的长度进行集合长度进行定义和维护,提供了特定方法可以直接操作集合中的数据,并提供了不同集合类来实现特定功能。
集合有关的命名空间是System.Collection,部分常用的接口为:
接口名称 | 作用 |
IEnumerable | 迭代集合中的项,为声明式接口 |
IEnumerator | 迭代集合中的项,为实现式接口 |
ICollection | .NET提供的标准集合接口,所以集合类都是直接或间接实现该接口 |
IList | 继承IEnumerable和ICollection接口,用于提供集合项列表,并允许访问、查找集合中的项 |
IDictionary | 继承自IEnumerable和ICollection接口,与IList的功能类似,但集合中的项是以键值对(key/value)的形式存在的 |
IDictionaryEnumerator | 迭代IDictionary接口类型的集合 |
下面是集合中常用的几种数据结构:
第一类:ArrayList——动态数组
代表了可被单独索引的对象的有序集合,基本上可替代一个数组,和数组的操作类似,当使用索引对此进行添加或移除操作,ArrayList会自动调整它的大小(长度)。此外,ArrayList也允许在列表中进行动态内存分配、增加、搜索、排序各项。
创建ArrayList类的对象时需要使用ArrayList类的构造函数,主要有以下三种:
构造方法 | 作 用 |
ArrayList() | 创建实例,容量为默认的初始容量(为0) |
ArrayList( ICollection c ) | 创建该类实例,实例包含从指定实例中复制的元素,并且初始容量和复制个数一样 |
ArrayList( int capacity) | 创建实例,并设置初始容量 |
以上构造方法分别举例:
ArrayList list1 = new ArrayList();
ArrayList list2 = new ArrayList(list1);
ArrayList list3 = new ArrayList(10);
备注:创建实例时,集合中并未存放值(元素),若要添加元素,则使用下面格式:
ArrayList list4 = new ArrayList(){1,2,3,4};
遍历集合中的值使用fore