nxj159753
天剑汇
2017-05-17 02:04

Iterator 迭代删除元素问题

  • iterator
  • 迭代器
  • 迭代

按照下面这种写法 ,迭代器删除和集合删除都不报错,
Iterator iterator = list.iterator();
while(iterator.hasNext()){
if("炉石传说".equals(iterator.next())){
list.remove(iterator.next());
// iterator.remove();
// list.remove(iterator.next());
}
}

但是按照下面这种写法,迭代器删除没问题,集合删除就报java.util.Concurrent ModificationExcept ion
错误了,请教下,这两种是由什么区别。
Iterator iterator = list.iterator();
while(iterator.hasNext()){
String string = iterator.next();
if("炉石传说".equals(string)){
list.remove(string);
// iterator.remove();
// list.remove(iterator.next());
}
}

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答