天天看點

在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方法添加元素就可以達到目的