首頁 >Java >java教程 >如何在迭代過程中安全地從 Java 清單中刪除元素?

如何在迭代過程中安全地從 Java 清單中刪除元素?

Patricia Arquette
Patricia Arquette原創
2024-12-31 18:42:10565瀏覽

How to Safely Remove Elements from a Java List During Iteration?

在Java 中的Foreach 循環中呼叫移除

使用迭代器安全地進行迭代

使用迭代器安全地進行迭代

List<String> names = ...
Iterator<String> i = names.iterator();
while (i.hasNext()) {
    String s = i.next();
    if (...) {
        i.remove();
    }
}

使用迭代器迭代集合時修改集合foreach 迴圈可能會導致錯誤。若要在迭代期間安全地刪除元素,請使用明確迭代器。

並發修改異常

如果不使用迭代器,程式碼將失敗並出現 ConcurrentModificationException,如果集合在迭代期間被修改。顯式迭代器確保追蹤變更並反映在底層集合中。

巢狀刪除注意事項

在提供的範例中,內部 while 循環繼續刪除相同的元素,直到它不再存在。雖然技術上合法,但除非有非常具體的原因,否則通常被認為是不好的做法。

以上是如何在迭代過程中安全地從 Java 清單中刪除元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn