Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取java.util.ConcurrentModificationException_Java_Collections_Hashset - Fatal编程技术网

获取java.util.ConcurrentModificationException

获取java.util.ConcurrentModificationException,java,collections,hashset,Java,Collections,Hashset,我执行了以下代码 Map<String, SyncPrimitive> syncPrimitives = new HashMap<String, SyncPrimitive>(); for (SyncPrimitive primitive : this.getSyncPrimitives()) { String groupId = primitive.getId(); primitive.onConnect(groupId);

我执行了以下代码

Map<String, SyncPrimitive> syncPrimitives = new HashMap<String, SyncPrimitive>();

for (SyncPrimitive primitive : this.getSyncPrimitives()) {
         String groupId = primitive.getId();
         primitive.onConnect(groupId);
    }

在onConnect方法中,修改了原始项目。如何克服此问题?

在迭代过程中,您不能使用for each修改集合。如果要修改它,请使用

这类异常描述得非常清楚:

当对象的并发修改不允许时,检测到该修改的方法可能会引发此异常

例如,通常不允许一个线程在另一个线程迭代集合时修改集合。通常,在这些情况下,迭代的结果是未定义的

见相关问题:
显示您的onConnect方法。此代码是否编译?
Error while calling watcher 
java.util.ConcurrentModificationException
    at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
    at java.util.HashMap$KeyIterator.next(HashMap.java:828)