list遍历过程中删除元素总结

文章介绍了Java中List集合在迭代过程中删除元素的四种方式:Iterator的remove方法、removeIf函数、lambda表达式filter配合collect,以及CopyOnWriteArrayList的性能注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、iterator迭代过程中删除

        List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("5");
        Iterator<String> iterator = list.iterator();
        while(iterator.hasNext()){
            String value = iterator.next();
            if("3".equals(value)){
                iterator.remove();
            }
        }
        System.out.println(list);

2、removeIf删除

     List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("5");
        list.removeIf(item -> "3".equals(item));
        System.out.println(list);

3、java8 lambda filter过滤删除

 List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("5");
        List<String> newList = list.stream().filter(item -> !"3".equals(item)).collect(Collectors.toList());
        System.out.println(newList);

4、CopyOnWriteArrayList删除(性能低不推荐使用

    List<String> list = new ArrayList<>();
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        list.add("5");
        CopyOnWriteArrayList<String> objects = new CopyOnWriteArrayList<>(list);
        for (String object : objects) {
            if("3".equals(object)){
                objects.remove(object);
            }
        }
        System.out.println(objects);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值