ArrayList remove時報ConcurrentModificationException

ArrayList remove時報ConcurrentModificationException:程序員

ConcurrentModificationException 這錯誤自己是爲「提醒」程序員正在併發【修改Arraylist數據和循環讀取Arraylist數據結構】, 由於ArrayList 不是寫線程安全的數據結構,因此會報ConcurrentModificationException, Arraylist不是一個同步循環和刪除爲目的數據結構。安全


若是非要刪除ArrayList裏的元素,可以使用iterator數據結構

  1. Iterator<String> iter = list.iterator();  併發

  2. while(iter.hasNext()){  spa

  3.     String s = iter.next();  線程

  4.     if(s.equals("xxx")){  rem

  5.         iter.remove();  同步

  6.     }  it

  7. }  io

的方式刪除。

相關文章
相關標籤/搜索