删除ArrayList集合中的元素后,集合中的索引会不会发生变化
时间: 2024-04-08 19:35:07 浏览: 13
是的,当你从 ArrayList 集合中删除元素时,集合中的索引会发生变化。
ArrayList 是一个基于数组实现的动态数组,它的元素是按照索引顺序存储的。当你从 ArrayList 中删除元素时,删除位置后面的元素会向前移动以填补被删除元素的空缺位置。这导致原来位于删除位置之后的元素索引都会减少1。
考虑以下示例:
```java
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);
System.out.println("原始集合:" + numbers);
numbers.remove(2); // 删除索引为2的元素
System.out.println("删除元素后的集合:" + numbers);
}
}
```
输出结果:
```
原始集合:[1, 2, 3, 4, 5]
删除元素后的集合:[1, 2, 4, 5]
```
在示例中,我们删除了索引为2的元素(值为3)。删除后,原来位于索引3和4的元素(值为4和5)向前移动,导致它们的索引都减少了1。
因此,请注意在使用 ArrayList 进行元素删除操作后,要特别注意索引的变化,以免出现错误。