java中迭代器怎么删除元素
时间: 2024-06-16 14:03:16 浏览: 155
vector list map 遍历删除制定元素 防止迭代器失效的实例
在Java中,可以使用迭代器(Iterator)来遍历集合(如List、Set等)中的元素,并且可以通过迭代器来删除元素。下面是使用迭代器删除元素的步骤:
1. 首先,通过集合对象的iterator()方法获取到迭代器对象。例如,对于List集合,可以使用list.iterator()方法获取到迭代器。
2. 使用while循环和迭代器的hasNext()方法判断是否还有下一个元素。
3. 在循环中,使用迭代器的next()方法获取下一个元素。
4. 判断当前元素是否需要删除。如果需要删除,可以使用迭代器的remove()方法删除当前元素。
5. 循环结束后,集合中的元素已经被删除。
下面是一个示例代码:
```java
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
if (element.equals("B")) {
iterator.remove();
}
}
System.out.println(list); // 输出:[A, C]
```
注意:在使用迭代器删除元素时,不能直接使用集合的remove()方法,否则会抛出ConcurrentModificationException异常。这是因为在使用迭代器遍历集合时,集合的结构不能发生变化,否则会导致迭代器的状态不一致。
阅读全文