这是工作中遇到的一个小问题,总结一下。
List<Map> dataList = 从数据库查询到的
Map dataItem;
// 数据库中查询到的每条记录
Map<String, List<Map>> resultMap=
new
HashMap<String, List<Map>>();
// 最终要的结果
for
(
int
i=
0
;i<dataList.size();i++){
dataItem = dataList.get(i);
if
(resultMap.containsKey(dataItem.get(
"merohant_id"
))){
resultMap.get(dataItem.get(
"merohant_id"
)).add(dataItem);
}
else
{
List<Map> list =
new
ArrayList<Map>();
list.add(dataItem);
resultMap.put(dataItem.get(
"merohant_id"
),list);
}
}
这个直接用就可以了,结合上我自己的代码
List<Map<String, Object>> countStationsDetile = this.orderDao.countStationsDetile(cids,type);
Map<String, List<Map>> resultMap= new HashMap<String, List<Map>>();
for(int i=0;i<countStationsDetile.size();i++){
Map<String, Object> dataItem = countStationsDetile.get(i);
if(resultMap.containsKey(dataItem.get("provinceName"))){
resultMap.get(dataItem.get("provinceName")).add(dataItem);
}else{
List<Map> list = new ArrayList<Map>();
list.add(dataItem);
resultMap.put((String) dataItem.get("provinceName"),list);
}
}