C#数组的长度是固定的,应该在数组声明时就指定它的大小。通过使用ArrayList集合类,可以改变数组的长度,这样可以提高内存的利用率。
ArrayList可以使用如下三种构造函数,这样能够根据需要而动态地增加数组。
1)ArrayList(),能够初始化ArrayList类的新实例,此实例为空并且具有默认初始容量。
2)ArrayList(ICollection),能够初始化ArrayList类的新实例,此实例包含从指定集合复制的元素,并且具有和所复制元素数相同的初始容量大小。
3)ArrayList(Int32),能够初始化ArrayList类的新实例,此实例为空并且指定初始容量。
ArrayList类的常用属性如表9-3所示。
表9-3 ArrayList类属性
ArrayList类的常用方法(函数)如表9-4所示。
表9-4 ArrayList类方法
其中,ArrayList容量是ArrayList可以保存的元素数,其默认容量是0。Add能够向ArrayList中添加新的元素,通过添加后,容量会根据需要通过重新分配而自动增加容量。
下面将通过两个简单实例来说明ArrayList属性和方法的具体使用效果。
1.添加/删除数组数据
实例34:通过Add/Remove()方法添加/删除数组中的数据
下面将通过一个简单的实例来说明,使用Add/Remove()方法实现数组数据的添加/删除处理的流程。本实例保存在“光盘:\daima\9”文件夹内,项目名为adddel。本实例的功能是,输出显示指定数组内的数据,并将处理后的数组数据输出显示。实例文件的主要代码如下所示:(www.xing528.com)
上述实例代码的设计流程如下。
1)通过using调用System.Collections类。
2)定义adddel命名空间和Program类。
3)定义数组qiudui,通过方法Add()添加4个初始成员。
4)输出数组的原始成员数和对应的成员数据。
5)通过Remove()方法删除数组内的成员“AA”。
6)通过方法Add()为数组添加另外3个成员。
7)将数组扩容后的数据输出显示。
执行后将输出添加处理后的原始数组数据,然后显示删除后的数据,最后显示扩容后的数据,具体如图9-9所示。
图9-9 实例执行结果
2.第三种构造函数确定处理
第三种构造函数即确定最大容量的构造函数。从图9-9所示的现实结果可以看出,随着ArrayList内成员的增加,Capacity值也会随之增加。这样就需要不断扩展Capacity容量并进行元素复制,所以会影响程序的执行效率。为解决上述问题,可以使用第三种形式的构造函数来创建ArrayList,并在其中设置一个最大容量值。只要元素数不超过这个最大值,ArrayList就不需要再进行容量扩展和复制,这样就提高了程序的效率。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。