Java循环删除List中的元素

2023-12-16 09:57:59

在Java中,循环删除List中的元素可以通过迭代器(Iterator)或者增强型for循环(Enhanced for loop)来实现。以下是两种方法的详细介绍:

  1. 使用迭代器(Iterator):
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("one");
        list.add("two");
        list.add("three");

        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String item = iterator.next();
            if ("two".equals(item)) {
                iterator.remove();
            }
        }

        System.out.println(list);
    }
}

在这个例子中,我们使用了迭代器(Iterator)来遍历List,并在遍历过程中调用remove()方法来删除指定的元素。

  1. 使用增强型for循环(Enhanced for loop):
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("one");
        list.add("two");
        list.add("three");

        for (String item : list) {
            if ("two".equals(item)) {
                list.remove(item);
            }
        }

        System.out.println(list);
    }
}

在这个例子中,我们使用了增强型for循环(Enhanced for loop)来遍历List,并在遍历过程中调用remove()方法来删除指定的元素。

需要注意的是,在循环删除List中的元素时,使用迭代器(Iterator)是最安全的方法,因为它可以避免在删除元素时出现的并发修改异常(ConcurrentModificationException)。而使用增强型for循环(Enhanced for loop)可能会导致并发修改异常,因为它在内部使用了迭代器(Iterator),但是在删除元素时可能会破坏迭代器的状态。

文章来源:https://blog.csdn.net/guochangjin/article/details/134978570
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。