简单Map实用

来源:互联网 发布:微观调查数据 编辑:程序博客网 时间:2024/06/05 16:02
    private Map<String, List<FindBillsBean>> findbillmap=new HashMap<String, List<FindBillsBean>>();

    private ArrayList<String> datekeys = new ArrayList<String>();//map的key(存的日期)

//map的存放

ArrayList<FindBillsBean> result;

            for (int i = 0; i < result.size(); i++) {
                List<FindBillsBean> list=null;
                String datestr=result.get(i).getDate();
                //如果有这个key,通过key添加value.如果没有这个key添加key和value
                if(findbillmap.containsKey(datestr)){

                       findbillmap.get(datestr).add(result.get(i));
                }else{
                     list=new ArrayList<FindBillsBean>();
                    list.add(result.get(i));
                    findbillmap.put(datestr, list);
                    datekeys.add(datestr);
                }
            }


//map取值

在adapger的getitem中操作的

               String datekey = datekeys.get(position);

                lout_rens.removeAllViews();
                for (int i = 0; i < findbillmap.get(datekey).size(); i++) {
                    FindBillsBean  bean=findbillmap.get(datekey).get(i);
                    lout_rens.addView(add(context, bean,i,findbillmap.get(datekey).size()-1));//当前位置,最后一条的位置
                }


map的取值还有很多方式比如说

  Map<String, String> map = new HashMap<String, String>();
  map.put("1", "value1");
  map.put("2", "value2");
  map.put("3", "value3");

  //第一种:普遍使用,二次取值
  System.out.println("通过Map.keySet遍历key和value:");
  for (String key : map.keySet()) {
   System.out.println("key= "+ key + " and value= " + map.get(key));
  }

 //第二种:推荐,尤其是容量大时
  System.out.println("通过Map.entrySet遍历key和value");
  for (Map.Entry<String, String> entry : map.entrySet()) {
   System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
  }

  //第三种
  System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
  for (String v : map.values()) {
   System.out.println("value= " + v);
  }
 }

//第四种 再拼接参数时 最常用

StringBuilder stringBuilder = new StringBuilder();
        for(Iterator<String> it = map.keySet().iterator();it.hasNext();){
            String key = it.next();
            stringBuilder.append(key).append("=").append(map.get(key));
        }

System.out.println(stringBuilder.toString());



0 0