如何在java中从Map中读取Arraylist的值

时间:2017-01-23 18:03:24

标签: java android arraylist collections

我无法从以下代码中读取MAP中Arraylist的值,请建议应该做什么。

 @Override
    protected void onPostExecute(Map<String,List<CommentModel>> results) {
        super.onPostExecute(results);

        results.get(0).get(commentModelList);

            Toast.makeText(getApplicationContext(), "Helloji" + results, Toast.LENGTH_LONG).show();


}

和添加到Map的值我认为以正确的方式将值放在Map中。请建议我做什么,因为我被困在这里。

   String line = "";
        StringBuffer buffer = new StringBuffer();

        while ((line=bufferedReader.readLine())!=null){
            buffer.append(line);
            String result = buffer.toString();
            JSONArray jsondata = new JSONArray(result);
            commentModelList = new ArrayList<>();
            commentModelList_child = new ArrayList<>();
            map =new HashMap();

            for(int i=0;i<=jsondata.length();i++){

                CommentModel cmnmodel = new CommentModel();

                JSONObject jsonObject = jsondata.getJSONObject(i);

                int id= jsonObject.getInt("id");
                String content = jsonObject.getString("content");

                    cmnmodel.setContent(content);
                    cmnmodel.setId(id);
                commentModelList.add(cmnmodel);
                commentModelList_child.add(cmnmodel);

                map.put("commentModelList",commentModelList);
                map.put("commentModelList_child",commentModelList_child);

            }

        }

2 个答案:

答案 0 :(得分:1)

Map的密钥为String而不是Integer

results.get(0).get(commentModelList);

不是将Integer作为键传递,而是使用String作为键,作为回报,您将得到List。

List<CommentModel> comments = results.get("value_of_id");

答案 1 :(得分:0)

你倒退了。

    name = input ("what is your name")
if name == ("x") or ("y"):
    print ("Hello")
elif name == "n" or name == "m" or name ==  "N" or name == "M":
    print  ("a")
else:
    print ("b")