在ArrayList的更新条目中获取并发修改异常

时间:2015-11-06 10:24:53

标签: java android arraylist iteration

我将在我的Android客户端管理从服务器收到的消息。为实现这一目标,我使用ArrayList(HashMap<String, Integer>)来存储已到达的消息。

private ArrayList<HashMap<String, Integer>> Notifications = new ArrayList<>();

每条消息都有一个类型,我将其作为key存储在哈希映射中,并将HashMAp中的该类消息的数量也设置为整数value

现在,当我尝试迭代CME以查找和更新或添加新类型的已到达消息时,我得到ArrayList

我想,我是以正确的方式做到的,我的错在哪里:

    for(HashMap<String, Integer> pack : Notifications) {

        // Searching for Notification Type - If exist update the value
        for(Entry<String, Integer> item : pack.entrySet()){

            String key  = item.getKey();
            if(key.equals(type)){
                Log.e("We find the key here:", key);
                item.setValue(item.getValue()+1);
                found   = true;
                break;
            }
        }

        if(!found){
            ........
        }
    }

0 个答案:

没有答案