您好,这有点令我困惑(脑子冻结了!),似乎还漏了些东西。我有一个ArrayList,里面装有一个HashMap。现在我把我的HashMap放入ArrayList中。
Map.put(DATE, value1);
Map.put(VALUE, value2);
arraylist.put(Map);
我正在解析JSON,数组列表的大小显著增加。现在我的问题是如何从数组列表中获取两个映射键的值?我已经尝试过这样做:
if(!list.isEmpty()){ // list is an ArrayList
for(int k = 0; k < list.size(); k++){
map = (HashMap)list.get(k);
}
}
Log.d(TAG, "map size is" + map.size());
String [] keys = new String[map.size()];
String [] date_value = new String[map.size()];
String [] value_values = new String[map.size()];
int i = 0;
Set entries = map.entrySet();
Iterator iterator = entries.iterator();
while(iterator.hasNext()){
Map.Entry mapping = (Map.Entry)iterator.next();
keys[i] = mapping.getKey().toString();
date_value[i] = map.get(keys[i]);
if(keys[i].equals(DATE)){
date_value[i] = map.get(keys[i]);
} else if(keys[i].equals(VALUE)){
value_values[i] = map.get(keys[i]);
}
i++;
}
但我似乎无法获取所有的值。Map的大小总是返回一个值为2,这只是元素数。我如何从ArrayList中的Map键获取所有值?谢谢。