ArrayList是Java中动态数组的核心实现,基于可变长Object数组,支持运行时增删元素,解决传统数组长度固定问题;通过导入java.util.ArrayList类创建,可使用无参构造函数或指定初始容量提升性能;支持泛型声明如ArrayList list = new ArrayList();可通过Arrays.asList快速初始化;add()方法添加元素(末尾或指定位置),get()按索引访问,效率高为O(1);set()修改元素,remove()按索引或对象删除(删除后元素前移影响性能),clear()清空列表;遍历方式包括普通for、增强for和迭代器;contains()判断存在性,indexOf()查找索引(未找到返回-1);频繁插入删除需注意性能,合理设置初始容量或调用trimToSize()减少内存开销。

Java中的ArrayList是动态数组的核心实现工具,它基于可变长的Object数组,允许在运行时自由添加、删除元素,解决了传统数组长度固定的问题。掌握ArrayList的基本操作和使用技巧,对日常开发非常关键。
创建与初始化ArrayList
要使用ArrayList,必须导入java.util.ArrayList类。可以通过无参构造函数创建一个默认容量的列表,也可指定初始容量以提升性能。
- 创建字符串类型的ArrayList:
ArrayListlist = new ArrayList(); - 指定初始容量:
ArrayListnumbers = new ArrayList(10); - 使用Arrays.asList快速初始化:
ArrayListinitList = new ArrayList(Arrays.asList("a", "b", "c"));
添加与访问元素
ArrayList提供add()方法插入元素,get()方法按索引读取。由于底层是数组,随机访问效率高,时间复杂度为O(1)。
- 添加元素到末尾:
list.add("hello"); - 在指定位置插入:
list.add(0, "world");(将"world"插入到索引0) - 获取元素:
String item = list.get(0); - 获取列表大小:
int size = list.size();
修改与删除元素
可以替换指定位置的元素,也可以根据值或索引删除元素。删除操作会导致后续元素前移,可能影响性能。
立即学习“Java免费学习笔记(深入)”;
- 修改元素:
list.set(1, "new value"); - 按索引删除:
list.remove(0); - 按对象删除(删除第一个匹配项):
list.remove("target"); - 清空整个列表:
list.clear();
遍历与查找操作
常见的遍历方式包括for循环、增强for循环和迭代器。contains()和indexOf()可用于查找元素是否存在或定位其索引。
- 使用for循环遍历:
for (int i = 0; i - 增强for循环:
for (String s : list) { System.out.println(s); } - 判断是否包含某个元素:
boolean hasItem = list.contains("hello"); - 查找元素索引:
int index = list.indexOf("hello");(未找到返回-1)
基本上就这些。ArrayList使用简单,但在频繁插入删除的场景中需注意性能。合理调用trimToSize()或确保初始容量适当,能有效减少内存开销。不复杂但容易忽略。










