作者:小白学习哈 | 来源:互联网 | 2024-11-04 16:10
在遍历集合的过程中,若需根据特定条件对集合进行修改操作,如添加或删除元素,应特别注意避免引发`ConcurrentModificationException`异常。例如,在当前场景中,当集合中的对象ID与另一个集合中的对象ID不匹配时,需要向集合中添加新元素。为了避免这一异常,建议使用迭代器的`remove`方法或采用线程安全的集合类型,如`CopyOnWriteArrayList`,以确保操作的安全性和一致性。
今天是这么久以来第二次遇见这个异常了,因为在对集合进行遍历的时候我需要修改集合(当集合中的对象ID和另一个集合对象的ID相同时,我continue;但当他们不相同的时候我需要添加新的数据进入集合中) List list = new ArrayList ();
如何解决:只有在遍历完成后才能做修改删除操作;
要不就另外一个不循环的集合来装循环集合的数据。