zl程序教程

您现在的位置是:首页 >  前端

当前栏目

你所熟悉又不熟悉的加强for循环

循环 for 加强 熟悉
2023-09-27 14:23:03 时间

众所周知,在加强for循环的时候不可以一边循环,一边删除,但是有特例。
首先摆出结论:可以在加强循环的同时删掉倒数第二个元素
测试代码如下:

package test;

import java.util.ArrayList;
import java.util.List;

public class ForTest {
    public static void main(String[] args) {
        List<String> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
/*        for (int i=0;i<list.size();i++){
            if ("".equals(list.get(i))){
                list.remove(i);
            }
        }*/
        for (String str :list){
        System.out.println(str);
            if ("b".equals(str)){
                list.remove(1);
            }
        }
        for (String str :list){
            System.out.println("element: "+str);
        }

    }
}

删除a元素的时候或者c元素的时候都会报错:

Exception in thread "main" java.util.ConcurrentModi