循环list移除其中项

2018-07-12  本文已影响0人  MiniC

【强制】不要在 foreach 循环里进行元素的 remove/add 操作。remove 元素请使用 Iterator

方式,如果并发操作,需要对 Iterator 对象加锁。

正例:

Iterator iterator = list.iterator(); while (iterator.hasNext()) {

String item = iterator.next(); if (删除元素的条件) {

              iterator.remove();

          }

}

反例:

List list = new ArrayList(); list.add("1");

list.add("2");

for (String item : list) {

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

} }

上一篇 下一篇

猜你喜欢

热点阅读