我试图在JAVA中存储associative array
之类的数据。所以我带了地图列表
List<Map> processNeedImages = null;
int flag =0;
if(c.moveToFirst()){
do{
Map<String, String> map = null;
map.put("status", c.getString(c.getColumnIndex("system_url")));
processNeedImages.add(flag++, map);
}while(c.moveToNext());
我无法解析此数据
List<Map> allImages = getData();
for (Map map:allImages){
Log.d("listImage", String.valueOf(map.get("status")));
}
偶数循环甚至迭代一次。
答案 0 :(得分:1)
Map<String, String> map = null
应替换为
Map<String, String> map = new HashMap<>();
您没有创建新的地图对象。而是每次都添加相同的地图对象。虽然您要为每个光标位置向地图添加新值,但该对象只有一个。因此你的循环只有一次。
答案 1 :(得分:1)
初始化代码中的所有变量,如下所示
List<Map> processNeedImages = new ArrayList<>();
int flag =0;
if(c.moveToFirst()){
do{
Map<String, String> map = new HashMap<>();
map.put("status", c.getString(c.getColumnIndex("system_url")));
processNeedImages.add(flag++, map);
}while(c.moveToNext());
}
这样可以正常工作。
你应该阅读这个答案NullPointerException