簡體   English   中英

迭代map時出現ConcurrentModificationException

[英]ConcurrentModificationException when iterating over map

迭代地圖內容時,我收到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>> ,我只獲取密鑰。

請注意,不會修改地圖的內容。 我只是在這里迭代。

我在這做錯了什么? 如何在拋出異常時糾正這種情況?

如果正在迭代的基礎集合被Iterator本身以外的任何東西修改,則會發生這種情況。

嘗試使用ConcurrentHashMap而不是普通的HashMap

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM