我需要迭代一系列项目&有时会同时添加到该集合中.但是,如果我在迭代时添加,那么我只是通过突破迭代循环来开始迭代.从头开始重新开始迭代.然而,这导致了
ConcurrentModificationException的. [下面的代码]
ConcurrentModificationException的. [下面的代码]
List<Integer> collection = new ArrayList<>(); for (Integer lobId: collection) { .. if (someCondition) { collection.add(something); break; } }
我怎么能做上面这样的事情来避免ConcurrentModificationException?
简单地使用Array而不是ArrayList来避免这种异常是否正确?
这有什么类型的专门收藏吗?
–
编辑:
我不想为这个arraylist创建一个新副本,因为除非完成某些要求,否则我将重复多次整个迭代过程.每次创建一个新副本会带来一些额外的开销,如果可能的话,我想避免.
如果可能的话,我想保持一个排序顺序&该集合中的唯一值.有没有可以在任何图书馆使用的东西?否则我可以在迭代过程结束时对其进行排序&删除重复项.这对我也没问题.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。