0

ConcurrentModificationException在迭代地图内容时得到

    for (String sourceKey : sMap.getContent().keySet()) {

        List<String> sourceValues = sMap.getValues(sourceKey);
        List<String> targetValues = tMap.getValues(sourceKey);

        if (areMultiple(sourceValues)) {
        ....
    }

sMap.getContent()返回Map<String, List<String>>,我只得到钥匙。

请注意,不会修改地图的内容。我只是在这里迭代。

我在这里做错了什么?抛出异常时如何纠正这种情况?

4

1 回答 1

2

如果被迭代的底层集合被迭代器本身以外的任何东西修改,就会发生这种情况。

尝试使用 ConcurrentHashMap 而不是普通的 HashMap

于 2013-03-11T19:16:58.533 回答