Array与ArrayList之间的区别

Array和ArrayList都是基于索引的数据结构,通常在Java程序中使用。java中array和arraylist之间的区别包括可调整大小,基元,遍历,长度,类型安全,多维,添加元素,性能八个点。

二者之间的区别

1.Array本质上是静态的,是固定长度的数据结构,声明变量的同时需要进行实例化(确定数组的大小),一旦创建数组对象,其长度就不能被修改。ArrayList本质上是动态的,能够根据需要调整自身的大小。在声明变量是可以不指定大小。

2.Array中可以使用int、float、double、long等基本数据类型与对象(Object)。ArrayList只能够存放对象,不能使用基本数据类型。

3.Array使用for循环遍历元素。ArrayList使用迭代器遍历其元素,也可以使用for循环迭代

4.Array由length变量返回数组长度。ArrayList由size()方法提供其大小。

5.ArrayList支持泛型,能够在编译期间确保类型安全,Array不支持泛型,是同类数据结构,它包含特定类的对象或特定数据类型的基元。在数组中,如果尝试在创建数组对象时存储指定以外的其他数据类型,则抛出ArrayStoreException。

6.Array可以是多维的,ArrayList只能是单维的。

7.Array中使用赋值运算符插入元素。ArrayList中使用add()方法将元素插入其中。

8.在性能方面,遍历Array比迭代ArrayList快。如果确定大小使用Array,不确定则使用ArrayList。