移除List中不满足条件的数据

刚开始想到用list.remove(i),后面打印数据发现很多并没有移除掉,然后查了一下百度才知道原因,

然后发现最好的方法是使用迭代删除,代码如下,

//准备数据
        List<Student> list = new ArrayList<>();
        list.add(new Student("male"));
        list.add(new Student("female"));
        list.add(new Student("female"));
        list.add(new Student("male"));
 
        //遍历删除,除去男生
        Iterator<Student> iterator = list.iterator();
        while (iterator.hasNext()) {
            Student student = iterator.next();
            if ("male".equals(student.getGender())) {
                iterator.remove();//使用迭代器的删除方法删除
            }
        }

参考:java中List遍历删除元素

参考:java-list-remove()用法浅析 解决java list remove() 数据不对的问题

发布了125 篇原创文章 · 获赞 27 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/weixin_39428938/article/details/103054654