Array 和 ArrayList 有何区别?举例说明
时间: 2024-05-06 17:16:26 浏览: 171
Array 和 ArrayList 都是用于存储一组数据的数据结构,但是它们有以下区别:
1. Array 是一个固定长度的数据结构,一旦创建了就不能改变其长度。而 ArrayList 是一个可变长度的数据结构,可以根据需要动态地增加或减少元素。
举例说明:
```
int[] arr = new int[5]; // 创建一个长度为5的数组
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
ArrayList<Integer> list = new ArrayList<>(); // 创建一个空的 ArrayList
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
```
2. Array 可以存储基本数据类型和对象类型,而 ArrayList 只能存储对象类型。
举例说明:
```
int[] arr = new int[5]; // 创建一个长度为5的 int 数组
Integer[] arr2 = new Integer[5]; // 创建一个长度为5的 Integer 数组
ArrayList<Integer> list = new ArrayList<>(); // 创建一个存储 Integer 类型的 ArrayList
```
3. Array 在创建时必须指定长度,而 ArrayList 可以不指定长度,会自动扩容。
举例说明:
```
int[] arr = new int[5]; // 创建一个长度为5的数组
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
ArrayList<Integer> list = new ArrayList<>(); // 创建一个空的 ArrayList
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6); // 自动扩容,长度变为6
```
阅读全文