java list遍历移除数据
时间: 2023-10-06 20:06:14 浏览: 84
在 Java 中,我们可以使用 Iterator 来遍历 List,并在遍历过程中移除数据。具体的代码如下:
```java
List<Integer> list = new ArrayList<>();
// 添加一些数据
list.add(1);
list.add(2);
list.add(3);
list.add(4);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer item = iterator.next();
if (item == 2) {
iterator.remove(); // 移除元素
}
}
```
在这个例子中,我们首先创建了一个 List,然后使用 Iterator 遍历 List 中的元素。在遍历过程中,如果元素等于 2,则使用 iterator.remove() 方法将该元素从 List 中移除。
需要注意的是,使用 Iterator 进行遍历时,不能使用 List 的 remove() 方法来移除元素。因为如果直接使用 List 的 remove() 方法,会导致迭代器的状态不一致,从而抛出 ConcurrentModificationException 异常。
相关问题
java list 遍历移除自身
可以使用迭代器来遍历并移除List中的元素,示例代码如下:
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]
java 遍历移除list值
可以使用迭代器来遍历并移除 List 中的元素,如下所示:
```java
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String value = iterator.next();
if (value.equals("B")) {
iterator.remove();
}
}
System.out.println(list); // 输出 [A, C, D]
```
在迭代器中,通过 `iterator.next()` 方法获取下一个元素,并通过 `iterator.remove()` 方法移除当前元素。需要注意的是,不能直接在循环中使用 `list.remove()` 方法来移除元素,否则会抛出 ConcurrentModificationException 异常。
阅读全文