ArrayList初识

 

    今天在开发GIS程序时,用到ArrayList类,但是不太清楚它是怎么使用的。于是就查找了些资料,查探了下它的使用方法。接下来,我就把我整理出来的结果分享给大家,方便大家的学习和交流。

    ArrayList类位于System.Collection命名空间下,他可以动态的添加和删除元素。与数组相比,ArrayList具有如下特点:

1.数据的容量是有限的,但是ArrayList的容量可以根据需要自动扩充,免除了程序员很大的麻烦。

2.ArrayList提供添加、删除和插入某一范围元素的方法,但在数组中,只能一次获取或设置一个元素的值。

3.ArrarList提供将只读和固定大小包装返回到集合的方法,而数组不提供。

4.ArrayList只能是一维形式,而数组可以是多维的。

    接下来,我来说明一下ArrayList的构造函数,理解ArrayList的定义方式。ArrayList提供了3个构造函数,下面分别介绍:

1.默认的构造函数,是以16的大小来初始化内部的数组。构造函数格式如下:

public ArrayList();

例如:ArrayList list=new ArrayList(); 其中list是对ArrayList类的一个引用。

ArrayList list=new ArrayList();

for(int i=0;i<10;i++)

    list.add(i);   //给ArrayList对象list添加10个int类型的元素

2.用一个ICollection对象来构造,并将该集合的元素添加到ArrayList中。构造函数格式如下:

public ArrayList(ICollection);

例如:ArrayList list=new ArrayList(arrName);其中list是ArrayList对象名,arrName是要添加到集合中的数据名。

int arrName=new int[]{1,2,3,4,5,6,7,8,9};

ArrayList list=new ArrayList(arrName);//将声明的一维数组添加到ArrayList集合中

3.用指定大小初始化内部的数组。构造函数格式如下:

public ArrayList(int);

例如:ArrayList list=new ArrayList(n);其中list是ArrayList对象名,n是ArrayList对象的空间大小

ArrayList list=new ArrayList(10);

for(int i=0;i<10;i++)

list.add(i);//给ArrayList对象添加10个int类型的元素

   下面我简单介绍一下ArrayList集合类的一些常用属性及说明:

属性

说明

Capacity

获取或设置ArrayList可包含的元素个数

Count

获取ArrayList中实际包含的元素数

IsFixedSize

获取一个值,该值指示ArrayList是否具有固定大小

IsReadOnly

获取一个值,该值指示ArrayList是否为只读

IsSynchronized

获取一个值,该值指示是否同步对ArrayList的访问

Item

获取或设置指定索引出得元素

SyncRoot

获取可用于同步ArrayList访问的对象

   最后我来讲一下ArrayList中的一些常用方法的使用。

1.添加 ArrayList集合元素

向ArrayList中添加元素可以使用Add方法和Insert方法。其语法格式如下:

(1)public virtual int Add(Object value)

(2)public virtual void Insert(int index,Object value)

下面我通过一个控制台程序说明一下这个两个方法的使用。

代码如下:

View Code
 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Collections;
6
7 namespace ArrayListDemo
8 {
9 class Program
10 {
11 static void Main(string[] args)
12 {
13 int[] arrName = new int[] { 1,2,3,4,5,6};
14 ArrayList list = new ArrayList(arrName);//使用声明的一维数组实例化一个ArrayList对象
15 Console.WriteLine("原ArrayList集合:");
16 foreach (int i in list)//遍历ArrayList集合并输出
17 {
18 Console.Write(i+" ");
19 }
20 Console.WriteLine();
21 for (int i = 1; i < 5; i++)
22 {
23 list.Add(i+arrName.Length);//为ArrayList集合添加元素
24 }
25 Console.WriteLine("使用Add方法添加:");
26 foreach (int i in list)//遍历添加元素后的ArrayList集合并输出
27 {
28 Console.Write(i+" ");
29 }
30 Console.WriteLine();
31 list.Insert(6, 6);//在ArrayList集合指定位置处添加元素
32 Console.WriteLine("使用Insert方法添加:");
33 foreach (int i in list)//遍历最后的ArrayList集合并输出
34 {
35 Console.Write(i+" ");
36 }
37 Console.ReadLine();
38 }
39 }
40 }

运行结果如下:

posted @ 2011-10-14 23:22  gis追梦者  阅读(494)  评论(0编辑  收藏  举报