Java 循环删除list中指定元素

简介: Java 循环删除list中指定元素


Java 循环删除list中指定元素


1.for循环遍历删除指定元素

    List<String> list = new ArrayList<>(Arrays.asList("a","b","c","f","b","e","d"));
        for (int i = 0; i < list.size(); i++) {
            System.out.println("i="+i+"//str="+list.get(i));
            if (list.get(i).equals("b")) {
                list.remove(i);
            }
        }

程序运行结果如图:

image.png

 由结果分析可知,利用for遍历删除,删除某个元素之后,list的大小发生变化,索引也发生变化,当删除索引为1的b之后,继续根据索引访问索引为2的元素,由于删除的缘故后面元素自动往前移动一位,故此时索引2上的元素已经不再是c,而变成了f,也就是如图所打印出来的结果,故for循环适合删除特定一位元素,不适合循环删除特定元素;


2.增强for循环删除指定元素

        List<String> list = new ArrayList<>(Arrays.asList("a","b","c","f","b","e","d"));
        for (String s : list) {
            System.out.println("------"+s+"------");
            if ("b".equals(s)) {
                list.remove(s);
            }
        }

程序运行结果如图:

image.png


3.iterator删除指定元素

        List<String> list = new ArrayList<>(Arrays.asList("a","b","c","f","b","e","d"));
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String next = iterator.next();
            System.out.println("------"+next+"------");
            if ("b".equals(next)) {
                iterator.remove();
            }
        }
        System.out.println(list.toString());

结果如图:

image.png

可以正常删除


相关文章
|
1月前
|
存储 算法 Java
Arraylist 在 Java 中能容纳多少个元素?
【8月更文挑战第23天】
63 0
|
1月前
|
存储 Java
|
3天前
|
Java
java基础(2)循环语句for、while、do...while
本文介绍了Java中的基础循环语句,包括for循环、while循环和do...while循环。文章通过示例代码展示了for循环的基本结构和用法,while循环的先判断后执行逻辑,以及do...while循环的先执行后判断逻辑。这些循环语句在Java编程中非常常用,用于执行重复的任务。
15 4
java基础(2)循环语句for、while、do...while
|
3天前
|
Java
Java循环
Java循环
17 6
|
10天前
|
编译器
Java--for循环语句
Java--for循环语句
|
18天前
|
Java 编译器 测试技术
|
29天前
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
31 5
|
26天前
|
Java API 开发者
代码小妙招:用Java轻松获取List交集数据
在Java中获取两个 `List`的交集可以通过 `retainAll`方法和Java 8引入的流操作来实现。使用 `retainAll`方法更为直接,但会修改原始 `List`的内容。而使用流则提供了不修改原始 `List`、更为灵活的处理方式。开发者可以根据具体的需求和场景,选择最适合的方法来实现。了解和掌握这些方法,能够帮助开发者在实际开发中更高效地处理集合相关的问题。
18 1
|
1月前
|
存储 Java
Java中ArrayList 元素的排序
本文提供了Java中根据`ArrayList`元素的某个属性进行排序的示例代码,包括实现`Comparable`接口和重载`compareTo`方法,然后使用`Collections.sort`方法进行排序。
|
1月前
|
存储 安全 Java