C#中的常见集合类的比较

一、非泛型集合与泛型集合

非泛型集合:Array、ArrayList、HashTable、Queue、Statck、SortedList

泛型集合:List、Dictionary、Queue、Stack、SortedList

二、常见的集合类

Array、ArrayList、List

(一)Array:

即常见的数组形式,大小固定,命名空间为System

(二)ArrayList:

命名空间为System.Collection,是数组的复杂版本。ArrayList 类提供在大多数 Collections 类中提供,但不在 Array 类中提供的一些功能。

长度可变,使用add()等方法可以可以对ArrayList集合进行动态的增删操作。

ArrayList的元素类型属于对象类型,由于并未指出到底具体类型,所以在数据存储或者检索时,会发生装箱和拆箱的操作,引起系统消耗。

使用:

ArrayList arrayList1 = new ArrayList();

arrayList1.Add("a");

arrayList1.Add(1);

arrayList1.Add("b");

Response.Write(arrayList1[1]);

ArrayList拥有的方法:

1:Add()向数组中添加一个元素,

2:Remove()删除数组中的一个元素

3:RemoveAt(int i)删除数组中索引值为i的元素

4:Reverse()反转数组的元素

5:Sort()以从小到大的顺序排列数组的元素

6:Clone()复制一个数组

(三)List

即所谓的泛型集合,命名空间为System.Collections.Generic;使用方法与ArrayList类似,只是给出了具体的类型T,使用时无装箱拆箱操作,节约了内存

用法:

List<string> names = new List<string>();

names.Add("乔峰");

names.Add("欧阳峰");

names.Add("马蜂");

//遍历List

foreach (string name in names)

{

Console.WriteLine(name);

}

//向List中插入元素

names.Insert(2, "张三峰");

//移除指定元素

names.Remove("马蜂");