在Java中,ArrayList是一个动态数组,它实现了List接口,并可以动态地增加或缩小。
ArrayList的实际工作原理就是通过一个数组来存储所有的元素。当我们添加元素时,如果ArrayList已经满了,就会创建一个新的数组,将旧的元素复制到新的数组中,并将新的元素添加到新的数组中,然后让ArrayList引用这个新的数组。这就是所谓的扩容。
从数组中删除元素时,元素将被移动以保持连续性,并通过减小数组大小来缩小ArrayList。
以下是一个简单的ArrayList示例,用于演示它的实际工作原理:
import java.util.ArrayList;
public class Example {
public static void main(String[] args) {
// 创建一个ArrayList
ArrayList cars = new ArrayList<>();
// 添加一些汽车到ArrayList
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
// 遍历ArrayList并打印每个元素
for (String car : cars) {
System.out.println(car);
}
}
}
运行上述代码将输出以下内容:
Volvo
BMW
Ford
Mazda
可以看到,在ArrayList中添加和删除元素时,内部数组的大小发生了变化,但对开发人员来说,这一切都是透明的。这正是ArrayList实际工作原理的核心。
上一篇:ArrayList的深拷贝
下一篇:ArrayList的实现方法