ArrayList类被设计成一个动态数组,其容量会随着需要而适当的扩充。在ArrayList集合类中经常使用的方法如下。
Add()方法:向数组中添加一个元素
Remove()方法:删除数组中的某一元素
RemoveAt(int i)方法:删除数组中索引值为i的元素
Reverse()方法:反转数组的元素
Sort()方法:以从小到大的顺序排列数组的元素
Clone()方法:复制一个数组
ArrayList与System.Array的区别有以下几点:
①Array可以定义多维数组,ArrayList只能定义一维数组。
②Array可以定义自己的下限,ArrayList的下限始终是0
③Array的元素通常是特定类型的,Array的元素都是object类型的,所以需要进行装箱和拆箱操作,内存分配的代价高
④Array的元素数目是固定的,ArrayList的元素数目可以自动扩展
⑤ArrayList具有添加、删除、插入、移动、复制等方法
下面的是个小例子
C#代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Collections;
namespaceArrayListTest
{
classProgram
{
staticvoidMain(string[]args)
{
ArrayListal=newArrayList();
//单个添加
al.Add(100);
//集体添加方发一
foreach(intnumberinnewint[6]{6,3,4,1,0,9})
{
al.Add(number);
}
//集体添加方法二
int[]number2=newint[2]{15,21};
al.AddRange(number2);
//移除值为3的数
al.Remove(3);
//移除第3个数
al.RemoveAt(3);
![C#的动态数组 c 动态数组的用法](http://img.413yy.cn/images/31101031/31124250t01bb4ea613df709172.jpg)
ArrayListal2=newArrayList(al.GetRange(1,3));
Console.WriteLine("遍历方法一");
foreach(intiinal)
{
//遍历方法一
Console.WriteLine(i);
}
Console.WriteLine("遍历方法二");
for(inti=0;i<al2.Count;i )
{
//一定要强制转换
intnumber=(int)al2[i];
Console.WriteLine(number);
}
Console.ReadLine();
}
}
}
运行结果如下:
由于移除了位置在3的数和数为3的数字,所以就没有了1和3,结果如上