java中List动态删除(迭代器做法)

java中List如果想动态删除元素的话,我们可以使用迭代器,但是切记要使用迭代器删除,而不能直接使用list.remove(next),这样写会报并发修改异常的。

//通过迭代器可以直接删除哦
    public List<String> updateList(List<String> list){
        Iterator<String> it = list.iterator();
        while(it.hasNext()){
            boolean numberFlag = false;
            boolean flag = false;
            String s = it.next();
            // 检查格式
            for(int i=0;i<s.length();i++){
                if(s.charAt(i) <= '9' && s.charAt(i) >= '0')
                    numberFlag = true;
                if(s.charAt(i) == '_'){
                    flag = true;
                }
                if((s.charAt(i) > '9' || s.charAt(i) < '0') && s.charAt(i) != '_') {
                    break;
                }
            }
            if(flag && numberFlag){
                //如果使用list.remove(s)删除就会报错
                it.remove();
            }
        }
        return list;
    }

 

posted @ 2020-09-14 21:42  程序杰杰  阅读(3464)  评论(0编辑  收藏  举报