不要在foreach循环里进行元素的remove/add操作,remove 元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class test04 {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (item.equals("1")) {
iterator.remove();
}
}
System.out.println("====" + list);
// 下面的方式不可采用
// for (String item : list) {
// if ("2".equals(item)) {
// list.remove(item);
// }
// }
// System.out.println("====" + list);
}
}