0

所以我有一个ListMultimap<Integer, List<someDataType>> containerSizeToDestQuanMap. 我正在尝试按如下方式迭代它:

Map<Integer, Collection<List<someDataType>>> sourceMapConverted = this.containerSizeToDestQuanMap.asMap();
for (Entry<Integer, Collection<List<DestQuanTuple>>> entry : sourceMapConverted.entrySet()) {
    // do something

如果,当我“做某事”时,我实际上修改了 containerSizeToDestQuanMap,我会收到一个ConcurrentModificationException? 如果是这样,是否有唯一的方法来解决这个问题以克隆 my containerSizeToDestQuanMap,然后对其进行迭代,修改原始版本?

例如,//do something可能是: containerSizeToDestQuanMap.remove(something, something).

4

1 回答 1

0

而不是直接操作,您必须IteratorsourceMapConverted.

前任:

//iterating over keys only
for (Object key : map.keySet()) {
    System.out.println("Key = " + key);
}

//iterating over values only
for (Objvalue : map.values()) {
    System.out.println("Value = " + value);
}

迭代时,您可以对迭代器进行修改。

于 2013-06-25T18:31:56.183 回答