集合List之ConcurrentModificationException异常分析
一、前言 Java中,集合类ArrayList不管是在开发工作中,还是在面试中,都应该是个比较高频出现的知识点。在使用过程中,可能会遇到迭代删除的需求场景,此时如果代码书写不当,极有可能会抛出 java.util.ConcurrentModificationException 异常信息。下面对这个异常做点分析,为什么会出现异常,怎样去正确的迭代删除。 二、异常原因分析 测试代码如下: package com.cfang.prebo.oTest; import java.util.Iterator; import java.util.List; import com.alibaba.fastjson.JSON; import com.google.common.collect.Lists; public class TestListException { public static void main(String[] args) { List<Integer> list = Lists.newArrayList(); list.add(1); Iterator<Integer> iterator = list.iterator(); while(iterator.hasNext()) { Integer val = iterator.next(); if(val ==