在 Java 编程中,arrays 和 arraylists 都是基本的数据结构,用来存放数据集合。虽然两者的用途一样,但是它们的特点极大地影响应用的性能和灵活性。
本文探讨 arrays 和 arraylists 的重要特性,它们各自的强项和弱点。当需要的时候,实现两种数据结构的无缝转换。
1. 介绍
在 Java 中,ArrayList 是集合框架的一部分,是可调整数据结构的实现。这一位意味着 arraylist 内部维护了一个需要动态增长或者收缩的数组。
1.1 Java Arrays
array 是一个固定大小的数据结构,在连续的内存空间中存放相同类型的数据。 array 中的每个元素通过索引或者位置识别,首个元素从 0 开始。
Java 语言中的 arrays 跟其他语言中的数组类似。通常,它们有下面的特性:
- Arrays 通常存储同种数据类型的元素。数据的类型在初始化的时候就已经定义好。
- 一个整数类型数组只能存放整数。Java 的编译器不允许在整数类型的数组中存放字符串数据。
- 数组中的每个元素只能通过索引获取。没有其他获取数组元素的方法。
- 数组的大小通常是固定的并且不能更改。要存放比数组大小更多的元素,我们必须创建新的数组,然后将旧数组数据拷贝到新数组。当我们尝试添加超过数组大小的元素,将会抛出 ** ArrayIndexOutOfBoundsException** 错误。
比如,以下数组是其在内部存储器的表现:
java复制代码int [] a = new int[5];
a[0] = 1;
a[1] = 2;
a[2] = 4;
a[3] = 8;
a[4] = 16;
</