java 迭代器删除
时间: 2023-10-29 22:08:10 浏览: 99
Java中的迭代器(Iterator)提供了remove()方法来删除集合中的元素。在使用迭代器遍历集合时,如果需要删除当前元素,可以调用迭代器的remove()方法。例如:
```
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();
}
}
```
在上面的代码中,我们使用迭代器遍历了一个List集合,并在遍历过程中删除了元素"B"。需要注意的是,如果在调用remove()方法之前没有调用next()方法,则会抛出IllegalStateException异常。
相关问题
java 迭代器删除集合中元素
好的,关于您的问题,我可以回答。在Java中,使用迭代器删除集合中元素的方式是通过迭代器的remove()方法进行操作。具体来说,使用如下代码可以删除集合中的指定元素:
Iterator<String> iter = list.iterator();
while (iter.hasNext()) {
String str = iter.next();
if (someCondition) {
iter.remove();
}
}
请注意,在删除集合元素时必须使用迭代器的remove()方法,否则可能会导致ConcurrentModificationException异常。
希望这个回答对您有帮助。
java迭代器删除list(obj)案例
当使用迭代器遍历List并删除元素时,我们需要注意以下几点:
1. 只能使用迭代器的remove()方法来删除元素,不能使用List的remove()方法,否则会抛出ConcurrentModificationException异常。
2. 在调用remove()方法之前,必须先调用next()方法获取到要删除的元素。
下面是一个示例代码,演示如何使用迭代器删除List中的元素:
```java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
list.add("Grape");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String fruit = iterator.next();
if (fruit.equals("Orange")) {
iterator.remove();
}
}
System.out.println(list); // 输出: [Apple, Banana, Grape]
}
}
```
在上面的例子中,我们创建了一个包含水果名称的List。通过list.iterator()获取到迭代器对象,然后使用while循环遍历,通过iterator.next()获取到当前元素,判断是否需要删除,如果需要删除,则调用iterator.remove()方法进行删除。
最后,输出结果为[Apple, Banana, Grape],可以看到"Orange"被成功删除了。请注意,在迭代器删除元素后,我们可以继续使用迭代器遍历剩余的元素。
阅读全文