同時遍歷(迭代)和修改 ArrayList 時,會發生 ConcurrentModificationException。本文探討了處理此異常的最佳實踐,概述了替代方法。
避免並發修改異常
為了防止發生異常,有兩個選項可用:
Iterator 的移除方法範例:
考慮移除某個長度的字串的場景ArrayList 中大於5 的值:
<code class="java">List<String> list = new ArrayList<>(); ... for (Iterator<String> iterator = list.iterator(); iterator.hasNext(); ) { String value = iterator.next(); if (value.length() > 5) { iterator.remove(); } }</code>
在此範例中,迭代器的「刪除」方法用於在迭代原始清單時安全地修改原始清單。
以上是迭代和修改ArrayList時如何避免ConcurrentModificationException?的詳細內容。更多資訊請關注PHP中文網其他相關文章!