Java中修改ArrayList指定位置元素使用set(int index, E element)方法,该方法替换索引处元素并返回旧元素,索引需满足0≤index<size。

在 Java 中,修改 ArrayList 指定位置的元素,用的是 set(int index, E element) 方法。
使用 set() 方法替换指定索引处的元素
该方法会将原位置的元素替换成新元素,并返回被替换的旧元素。注意:索引必须在合法范围内(0 ≤ index ),否则抛出 IndexOutOfBoundsException。
- 语法:
list.set(索引, 新元素); - 返回值:被替换的旧元素(类型为
E) - 不改变列表长度,也不影响其他位置的元素
实际操作示例
假设有一个存储字符串的 ArrayList:
ArrayList<String> list = new ArrayList<>(Arrays.asList("A", "B", "C", "D"));把索引为 2 的元素(即 "C")改成 "X":
立即学习“Java免费学习笔记(深入)”;
String old = list.set(2, "X"); // old = "C"
执行后,list 变为 ["A", "B", "X", "D"]。
常见注意事项
- 索引从 0 开始,最大有效索引是
list.size() - 1 - 不能用
set()向空列表或越界位置添加元素(那是add()的职责) - 如果需要根据内容查找再修改,得先用
indexOf()或遍历定位索引 - 对 null 元素也可正常设置,比如
list.set(1, null)
和 add()、remove() 的区别
set() 是“替换”,不是“插入”也不是“删除”。add(index, element) 会在指定位置插入并使后续元素后移;remove(index) 会删掉该位置元素并让后续前移;
只有 set() 保持列表长度和其余元素位置完全不变。


















