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());