迭代器删除list元素Java
时间: 2023-08-15 22:05:54 浏览: 110
Java如何使用Iterator迭代器删除集合重复选项
在Java中,使用迭代器删除List元素也需要注意以下几点:
1. 不能在循环中直接删除元素,因为删除元素后会改变List的大小,可能会导致迭代器指向错误的位置,从而导致程序崩溃。
2. 删除元素后,迭代器会失效,需要重新获取迭代器。
下面是一个示例代码,演示如何使用迭代器删除List元素:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
List<Integer> myList = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
// 获取迭代器
Iterator<Integer> it = myList.iterator();
// 循环遍历List
while (it.hasNext()) {
Integer element = it.next();
// 删除元素
if (element == 3) {
it.remove();
}
}
// 输出剩余的元素
for (Integer element : myList) {
System.out.print(element + " ");
}
}
}
```
在上面的代码中,我们先获取List的迭代器,然后使用while循环遍历List,如果当前元素等于3,则使用remove函数删除元素。最后,使用for循环输出剩余的元素。注意,在Java中,使用Iterator的remove方法可以安全地删除元素,而不会导致迭代器失效。
阅读全文