77
|
mabuzer · 技术社区 · 15 年前 |
![]() |
1
171
使用:
|
![]() |
2
27
正如其他答案所说,您不能从正在迭代的集合中移除项。可以通过显式使用
|
|
3
21
我喜欢循环的相反顺序,例如:
因为它不需要学习任何新的数据结构或类。 |
![]() |
4
8
应该有一个支持这种操作的列表接口的并发实现。 请尝试java.util.concurrent.CopyOnWriteArrayList.class |
![]() |
5
6
在循环中迭代时,您正在尝试更改remove()操作中的列表值。这将导致ConcurrentModificationException。 遵循下面的代码,这将实现您想要的,但不会抛出任何异常
|
![]() |
6
3
我们可以使用并发集合类来避免在对集合进行迭代时出现ConcurrentModificationException,例如CopyOnWriteArrayList而不是ArrayList。 请查看此帖子中的ConcurrentHashMap http://www.journaldev.com/122/hashmap-vs-concurrenthashmap-%E2%80%93-example-and-exploring-iterator |
![]() |
a a · 为什么在这个可重入锁示例中需要引用计数? 3 年前 |
![]() |
Grant · goroutines有高空闲唤醒电话 3 年前 |
![]() |
hoaz · 如何安全地清理并发映射 7 年前 |
![]() |
Alanpatchi · int基元类型的volatile声明 7 年前 |