1. 程式人生 > >list遍歷,按屬性分組

list遍歷,按屬性分組

這是工作中遇到的一個小問題,總結一下。

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