不要在foreach循环里进行元素的remove,add操作

不要在foreach循环里进行元素的remove/add操作。remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。

  • 正确方法:

    List list = new ArrayList<>();
    list.add(“1”);
    list.add(“2”);
    Iterator iterator = list.iterator();

while (iterator.hasNext()) {
    String item = iterator.next();
    if (删除元素的条件) {
        iterator.remove();
    }
}
  • 错误方法

    for (String item : list) {

    if ("1".equals(item)) {
        list.remove(item);
    }
    

    }

Search by:GoogleBingBaidu