Java删除集合指定元素

创建集合

//创建集合
        List<String> ls=new ArrayList<>();
        ls.add("sick");
        ls.add("java");
        ls.add("java");
        ls.add("hhh");
        ls.add("wd");
        ls.add("hapi");
        System.out.println(ls);

使用迭代器删除集合中的元素(可行)

Iterator<String> it=ls.iterator();
        while(it.hasNext()){
            String ele=it.next();
            if(ele.equals("java")){
                //ls.remove("java");会报错,因为删除第一个java后,后面元素向前补,导致等同于计数器向后移动了两次
                it.remove();//可行,删除当前元素并且光标不会后移,内部计数器做了--操作

            }
        }
        System.out.println(ls);

使用for循环遍历删除的两种方法(可行)

//1.for循环从前往后遍历方法
        for(int i=0;i<ls.size();i++){
            String ele=ls.get(i);
            if(ele.equals("java")){
                ls.remove("java");
                i--;//删除后进行光标--
            }
        }
        System.out.println(ls);

        //2.for循环从后往前遍历
        for(int i= ls.size()-1;i>=0;i--){
            String ele=ls.get(i);
            if(ele.equals("java")){
                ls.remove("java");
                //不需要i--
            }
        }
        System.out.println(ls);

使用foreach遍历删除(不可行),使用lambda表达式删除(不可行)

//使用foreach遍历删除(不可行)
        for (String s:ls){
            if(s.equals("java")){
                ls.remove("java");
            }
        }//并发修改异常

        //使用lambda表达式删除(不可行)
        ls.forEach(s->{if(s.equals("java")){
            ls.remove("java");
        }});//异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值