java lit遍历中删除
时间: 2024-02-13 08:05:30 浏览: 58
基于Java的开源机器视觉算法库(源码)
在 Java 中,如果你需要在遍历 `List` 的同时删除其中的元素,可以使用 `Iterator` 迭代器的 `remove` 方法。
使用 `Iterator` 迭代器的 `remove` 方法:
```java
List<Integer> lst = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
Iterator<Integer> iter = lst.iterator();
while(iter.hasNext()) {
int num = iter.next();
if(num % 2 == 0) {
iter.remove();
}
}
System.out.println(lst); // Output: [1, 3, 5]
```
需要注意的是,使用 `Iterator` 迭代器的 `remove` 方法删除元素时,删除的是迭代器最后一次返回的元素,而不是当前正在遍历的元素。因此,在调用 `remove` 方法之前,必须先调用 `next` 方法获取到当前正在遍历的元素。另外,如果直接使用 `List` 的 `remove` 方法删除元素,会导致 `ConcurrentModificationException` 异常,所以必须使用 `Iterator` 迭代器进行删除。
阅读全文