当前位置: 首页 > 面试题库 >

Java-遍历列表时将元素添加到列表

益泰平
2023-03-14
问题内容

我想避免ConcurrentModificationException。我该怎么办?


问题答案:

您可以ListIterator在迭代本身期间使用支持remove / add方法的。

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


 类似资料:
  • 问题内容: 我的问题是我想在遍历新元素的同时扩展一个包含新元素的列表,并且希望迭代器继续刚才添加的元素。 根据我的理解,会在列表中的当前元素之前而不是之后添加一个元素。是否可以通过其他方式实现这一目标? 问题答案: 除了以外,您无法在修改集合时使用进行迭代。 但是,如果使用方法,该方法返回,并对其进行迭代,则您还有更多要修改的选项。从javadoc中获取: 新元素插入到隐式光标之前:…后续调用将返

  • 我正在使用XPath/CSS和Selenium来定位网站上的元素。我想创建一个方法,在这个方法中,我遍历一个定位器列表(XPath/CSS),然后程序选择哪个有效。换句话说,它从定位器1开始-如果定位器存在,它将返回true并存在循环。否则,它将移动到列表中的下一个定位器。一旦用完所有CSS定位器,它就会转到XPath等等。 目前,我正在考虑如下实施: 然后,我计划为每种定位器类型调用此方法(一次

  • 问题内容: 我正在遍历Python中的元素列表,对其进行一些操作,然后在满足特定条件的情况下将其删除。 我应该使用什么来代替?我曾问过类似的问题,但注意到将对所有元素执行部分,因此消除了使用过滤器的解决方案。 问题答案: 你始终可以遍历列表的副本,从而可以自由修改原始列表:

  • 问题内容: 我知道在迭代列表时不允许删除元素,但是在迭代时允许将元素添加到python列表中。这是一个例子: 我已经在我的代码中尝试过了,它似乎可以正常工作,但是我不知道是否是因为我很幸运,将来它会折断吗? 编辑:我不愿复制列表,因为“ myarr”很大,因此会太慢。另外,我需要使用“ somecond()”检查附加对象。 编辑:在某些时候“ somecond(a)”将为假,因此不能有无限循环。

  • 问题内容: 在Java中,我可以通过使用an ,然后使用迭代器的方法来删除迭代器返回的最后一个元素,如下所示: 我将如何在Python中执行此操作?我在for循环中遍历列表时无法修改列表,因为它会导致内容被跳过(请参阅此处)。而且似乎没有Java的等效接口。 问题答案: 遍历列表的 副本 :

  • 问题内容: 在同时处理2个元素的同时迭代列表的最佳方法是什么? 例: 结果是: 我想实现: 问题答案: 只需增加2: