ArrayList remove java.util.ConcurrentModificationException
ArrayList remove java.util.ConcurrentModificationException
package com.example.core.mydemo.java3; import com.example.core.mydemo.json2.GsonUtils; import java.util.ArrayList; import java.util.List; /** * 过滤集合中的数据 * output: * list=["1","2","3","4","5","6"] * i=1 * i=2 * i=3 * i=4 * i=5 * i=6 * list end =["2","4","6"] */ public class ListTest { public static void main(String[] args) { List<String> list2 = new ArrayList<String>(); list2.add("1"); list2.add("3"); list2.add("5"); List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); list.add("6"); System.out.println("list=" + GsonUtils.toJson(list)); List<String> removeList = new ArrayList<String>(); for (String i : list) { System.out.println("i=" + i); if(list2.contains(i)){ //ArrayList remove java.util.ConcurrentModificationException //在循环遍历的时候,不能删除集合中的数据。 // list.remove(i); // System.out.println("del i=" + i); // removeList.add(i); } } //在循环外部删除,统一删除 list.removeAll(removeList); System.out.println("list end =" + GsonUtils.toJson(list)); } }