1. 程式人生 > >在foreach迴圈中對list結構進行新增或刪除

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