Java--在列表中添加元素并进行迭代

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

我想避免得到ConcurrentModificationException。我会怎么做?

提问于
用户回答回答于

你可以ListIterator在迭代期间使用一个支持remove / add方法的方法。

ListIterator<Book> iter = books.listIterator();
while(iter.hasNext()){
    if(iter.next().getIsbn().equals(isbn)){
        iter.add(new Book(...));
    }
}
用户回答回答于

不要使用迭代器,你可以使用for循环和索引。例如:

int originalLength = list.length();
for (int i = 0; i < originalLength; i++) {
  MyType mt = list.get(i);
  //... processing
  //... insertions
}

扫码关注云+社区