list遍歷,按屬性分組
阿新 • • 發佈:2019-02-08
這是工作中遇到的一個小問題,總結一下。
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);
}
}