小编biz*_*s86的帖子

使用ListIterator时,我们什么时候(或什么时候不)允许并发修改?

例如,假设有一些Collections#reverse(List)使用的操作,ListIterator例如:

var forwardItr = list.listIterator();
var reverseItr = list.listIterator(list.size());
while (forwardItr.nextIndex() < reverseItr.previousIndex()) {
  var forward = forwardItr.next();
  var reverse = reverseItr.previous();
  forwardItr.set(reverse)
  reverseItr.set(forward)
}
Run Code Online (Sandbox Code Playgroud)

是否应该有一些实现ConcurrentModificationException从抛出ListIterator#set?或者更确切地说,是否存在应引起异常抛出的特定类型的修改(即“结构”)?是否暗示某些实现List可能合理地引发上述操作的异常?

java concurrentmodification listiterator

4
推荐指数
1
解决办法
50
查看次数