arraylist for循环中删除
时间: 2024-05-02 13:03:55 浏览: 44
在使用 `ArrayList` 进行循环遍历并删除元素时,需要注意以下几点:
1. 不要在循环中直接删除元素,因为这会导致 `ArrayList` 的大小发生变化,从而导致出现数组越界等问题。
2. 可以使用迭代器(Iterator)来删除元素,因为迭代器提供了安全的删除方式。
3. 如果需要在循环中删除多个元素,可以使用 `List.removeAll()` 方法。
下面是使用迭代器删除元素的示例代码:
```java
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (item.equals("B")) {
iterator.remove();
}
}
```
在上面的代码中,我们使用迭代器遍历 `ArrayList`,如果遇到元素为 "B" 的情况,就使用 `iterator.remove()` 方法将其删除。
如果需要删除多个元素,可以使用 `List.removeAll()` 方法。例如:
```java
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
List<String> toBeRemoved = new ArrayList<>();
toBeRemoved.add("B");
toBeRemoved.add("C");
list.removeAll(toBeRemoved);
```
在上面的代码中,我们先定义了一个 `toBeRemoved` 列表,然后使用 `List.removeAll()` 方法将其从 `list` 中删除。
阅读全文