(1)数组Array类可以支持一维、二维和多维,而ArrayList类相当于一维数组,不支持多维数组
(2)数组存储的元素类型必须一致,而ArrayList可以存储不同类型的元素
(3)数组Array类在创建时必须指定大小且是固定的,不能随意更改,ArrayList类创建时可以不指定大小,使用过程中容量可以根据需要自动扩充。
(4)数组Array和ArrayList创建时语法格式不同。
(5)数组Array对象在获得元素个数时通过数组的Length属性,ArrayList对象在获得元素个数时通过集合的Count属性。
(6)数组为元素赋值时可以通过创建时初始化值或给单个元素赋值,ArrayList对象只能通过Add、Insert等方法为元素赋值。
虽然数组和ArrayList对象之间有很多区别,但是他们之间还是可以互相转化的。例如,可以在创建ArrayList对象时,把数组元素添加到ArrayList对象中;也可以通过ArrayList的CopyTo方法将ArrayList对象元素复制到数组中。
ArrayList MyAL = new ArrayList(5);
MyAL.Add(5);
MyAL.Add(8);
int[] result = new int[MyAL.Count];//创建长度为ArrayList元素个数的数组result
MyAL.CopyTo(result);//将ArrayList的元素值复制到数组result中