Array是固定大小的原始数据结构,可存基本类型和对象,性能高;ArrayList来自java.util包,动态扩容,仅存对象,操作灵活但稍慢。

Java 中 Array 和 ArrayList 都用于存储多个元素,但它们在使用方式和特性上有明显区别。
1. 类型与所属包
Array 是 Java 的原生数据结构,属于语言层面的一部分,不需要导入任何包。它可存储基本类型(如 int、char)和对象类型。
ArrayList 属于 java.util 包,是一个类,只能存储对象类型(包括包装类,如 Integer、String),不能直接存基本类型。
2. 大小是否固定
Array 在创建时必须指定长度,大小固定,无法动态扩容或缩容。
立即学习“Java免费学习笔记(深入)”;
ArrayList 内部基于数组实现,但支持动态扩容。当元素数量超过当前容量时,会自动创建更大的数组并复制内容。
3. 常用操作灵活性
Array 提供的 API 很少,添加、删除元素需要手动操作,比如使用循环或 System.arraycopy。
ArrayList 提供了丰富的操作方法,比如:
- add(element):添加元素
- remove(index):删除指定位置元素
- size():获取元素个数
- contains(element):判断是否包含某元素
4. 遍历与性能
两者都支持 for 循环和增强 for 循环遍历。Array 访问速度略快,因为是底层结构,内存连续。
ArrayList 因为有自动装箱拆箱(使用包装类)、扩容机制,在频繁增删场景下可能稍慢,但开发效率更高。
基本上就这些。Array 更轻量、高效,适合已知大小且不常变动的场景;ArrayList 更灵活,适合元素数量不确定或经常变化的情况。选择哪个取决于具体需求。











