使用迭代器安全地進行迭代
使用迭代器安全地進行迭代
List<String> names = ... Iterator<String> i = names.iterator(); while (i.hasNext()) { String s = i.next(); if (...) { i.remove(); } }
使用迭代器迭代集合時修改集合foreach 迴圈可能會導致錯誤。若要在迭代期間安全地刪除元素,請使用明確迭代器。
並發修改異常
如果不使用迭代器,程式碼將失敗並出現 ConcurrentModificationException,如果集合在迭代期間被修改。顯式迭代器確保追蹤變更並反映在底層集合中。
巢狀刪除注意事項
在提供的範例中,內部 while 循環繼續刪除相同的元素,直到它不再存在。雖然技術上合法,但除非有非常具體的原因,否則通常被認為是不好的做法。以上是如何在迭代過程中安全地從 Java 清單中刪除元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!