数据库中遍历 问题。。。。。。。。。。

[code="java"]
public List> findMovieByRegion(String region){

    List<Map<String, Object>> movieList = new ArrayList<Map<String, Object>>();
    SQLiteDatabase db = dbHelper.getReadableDatabase();
    Cursor cursor = db.rawQuery("select num from Online_movie where region=?", new String[]{region});
    while(cursor.moveToNext()){

        int aa = cursor.getInt(cursor.getColumnIndex("num"));
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("aaa", aa);
        System.out.println(map);
        movieList.add(map);
    }
    return movieList;
}

//______________________________________________
下面是 遍历上面 数据库中的 集合
MovieService ms = new MovieService(this.getBaseContext());

    List<Map<String,Object>> typenum =  ms.findMovieByRegion("美国");

    for (Iterator<Map<String, Object>> typeiterator = typenum.iterator(); typeiterator.hasNext();) {

        Object num = typeiterator.next();

//这里打印的 num 是{aaa=10},{aaa=9},{aaa=3}可是 我只想得到 10,9,3这几个数字 因为 有花括号的话 组成的路径就是错误的

Log.v("num===ggggggggggggggg>", ""+num);

        listmap = FileList.findFile(Environment.getExternalStorageDirectory()+"/Pictures/"+num+".jpg");

    }

[/code]

2个回答

Object num = typeiterator.next(); 为什么用object接收,不用map呢。用map取得get(key)就可以了

zhuyangyang123
zhuyangyang123 你说对了。。。嘿嘿。。。不过就少了个转换 加个 Integer 就行了 谢谢啦! Map num = typeiterator.next(); Integer numint = (Integer) num.get("aaa");
8 年多之前 回复
zhuyangyang123
zhuyangyang123 我改成 Map num = typeiterator.next(); num.get("aaa");了 还是一样的效果啊?
8 年多之前 回复

你遍历的是List,可List里面的元素类型是Map,当然会打印名-值对的形式,再把里面的Map遍历下吧

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐