Array是数组,数组的特点就是长度固定,在声明Array时就要给定长度,并且也需要给定类型,给定类型以后Array就只能存相同类型的数据,但是Array的效率确实较ArrayList要高很多。
ArrayList是基于Array实现的,所以说很多方法都是去继承Array去实现的,但是对于长度固定这一点,ArrayList做了优化,简单点来说就是对长度固定这个缺点进行了优化,也就是ArrayList的扩容性,但是任何 事情都是两面的,有优点的同时,也就会有缺点,ArrayList的缺点就是运行效率慢,因为每次插入操作时都会去检查ArrayList的容量是否足够,如果这个长度不够,就要去进行扩容,一般扩容长度是原来数组的二倍,去创建一个新的数组,把原本数组的内容重新复制到新的数组中。
总结一下就是:
1、Array长度固定,ArrayList长度可以扩容。
2、Array在声明的时候必须给定长度,ArrayList可以进行先行声明。
3、Array存储数据类型单一,ArrayList可以进行不同类型之间的存储。
4、Array运行效率相对于ArrayList来说要高出很多。