我将在我的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){
........
}
}