存档

文章标签 ‘ArrayList’

C#高级(九)C#数据结构 , 集合

2008年12月17日 没有评论

一、集合的基本概念

在.NET中,对于数据结构的支持,即把许多类似的对象组合起来。最简单的数据结构就是数组。

集合表示一组可以通过遍历每个元素来访问的的一组对象,特别是可以使用foreach循环来访问他们。对象如果可以提供相关对象的引用,就是一个集合。称为

使用foreach循环是集合的主要目的,集合没有提供其他特性。

二、数组列表。

数组列表类似数组,但数组列表是可以增大的。数组在规定的大小后,就不可以再增加了,但数组列表可以。

比如 ArrayList arrayListTest=new ArraryList(10); 该句创建了一个大小为10的ArraryList对象,当我们再为其添加第11项时,其容量会自动扩大1倍,也就变成了20,而原来的对象会被添加上垃圾收集器的标记。

为其添加对象的方法是 .Add()

比如:arrayListTest.Add(“www.gosoa.com.cn”);

              我们来完整的看个例子。

 

 

注意,在使用ArrayList之前,要引入System.Collections 这个命名空间。

在本例中,ArrayList arrayTest = new ArrayList(4); 我们定义了一个容量为4的ArrayList实例,然后给其添加了4个选项,并且最后打印了出来。arrayTest.Capacity 是用来输出ArrayList容量的。上例中 输出的结果是

www.www.gosoa.com.cn

4

8

 

为什么最后输出的是8呢?因为起初定义的arrayTest 容量是4,当最后arrayTest.Add(“url”);的时候,已经是在添加第五个选项了,这时,arrayTest的容量就会增加一倍。

       ArrayList还有Insert(), RemoveAt(),AddRange(),RemoveRange()方法。

我们来以例子学习。

 

 

在上例中 ,注释已经非常明确了。如果还有不明白的,可以留言给我。

 

三、Stack 类(栈)

       栈是另外一种集合。适合于处理应用程序使用完后就删除的临时数据项。

       在栈里,存储和取出的顺序是 先进后出,或者说 后进先出。

       在stack里面,元素是使用Push()方法放入栈,使用Pop()方法弹出栈外。我们来看个例子。

 

 

 

在上例中,展示了怎样使用Push()和Pop()方法。但要注意,push的顺序。

而且在调用Pop()方法后,是删除了最后push()的那个元素。所以输出了 www.gosoa.com.cn

 

四、Queue类。

       和Stack类似,只是Queue先进先出,后进后出。与Stack相反。例子和上面的一样,只需稍做修改。

Queue使用 Enqueue 添加元素,使用Dequeue 删除元素