天天看点

在foreach循环中对list结构进行添加或删除

在循环中对list进行添加或删除操作,会抛出currentModifierException,因为在循环过程中动态的加入或删除list元素会导致list的元素数量改变,出现漏项或者无限循环等现象。

·如果要在foreach循环中删除list中的元素,要使用itrator迭代器,借助itrator的remove方法删除元素,若使用list的remove方法则会抛出异常

·如果要在foreach循环中添加list元素,则要另外new一个list。因为直接对list使用add,会抛出异常,而itrator并没有刻意向list中添加元素的方法,所以也无法借助iterator。所以可以采取另外new一个list,然后借助list接口的addAll方法,将原来的list整个加入到新list中,此时循环旧的list,调用新的list的add方法添加元素就可以达到目的