Java - 在迭代列表时向列表添加元素

2022-09-01 16:30:38

我想避免得到.我该怎么做?ConcurrentModificationException


答案 1

您可以在迭代本身期间使用支持删除/添加方法的 a。ListIterator

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

答案 2

您可以对索引使用 for 循环,而不是使用迭代器。例如:

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