0
点赞
收藏
分享

微信扫一扫

iteration报错ConcurrentModificationException测试

测试代码,仅作个人记录,请切勿盲目参考。

1.

public class IterationTest {
    public static Integer integer= 0;
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add(i);
        }
        System.out.println(remove(list));

    }

    public static List<Integer> remove(List<Integer> list) {
        integer += 2;
        Iterator<Integer> integerIterator = list.iterator();
        while (integerIterator.hasNext()) {
            if (integerIterator.next().equals(integer)) {
                integerIterator.remove();
                System.out.println("当前list是" + list);
                remove(list);
            }
        }
        return list;
    }
}

2.

public class IterationTest22 {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add(i);
        }
        remove(list);
    }

    public static void remove(List<Integer> list) {
        Iterator<Integer> integerIterator = list.iterator();
        while (integerIterator.hasNext()) {
            integerIterator.next();
                integerIterator.remove();
                System.out.println("当前list是" + list);
            }
    }
}

3.

public class IterationTest33 {
    public static Integer integer= 0;
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add(i);
        }
        remove(list);

    }

    public static List<Integer> remove(List<Integer> list) {
        Iterator<Integer> integerIterator = list.iterator();
        while (integerIterator.hasNext()) {
            if (integerIterator.next() == 5) {
                deleteTwoInteger(list);
            }
            integerIterator.remove();
                System.out.println("当前list是" + list);
        }
        return list;
    }

    public static void deleteTwoInteger(List<Integer> list) {
        list.remove(0);
        System.out.println("当前list是" + list);
    }
}

4.

public class IterationTest44 {
    public static Integer integer= 0;
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add(1);
        }
        remove(list);

    }

    public static void remove(List<Integer> list) {
        int jj = 1;
        Iterator<Integer> integerIterator = list.iterator();
        while (integerIterator.hasNext()) {
            jj ++;
            if (jj == 5) {
                list.remove(0);
            }
            integerIterator.next();
            integerIterator.remove();
            System.out.println("当前list是" + list);
        }
    }


}
举报

相关推荐

0 条评论