从一个list中 按某字段进行分组保存

/** 
 * 按照异常批次号对已开单数据进行分组 
 * @param billingList 
 * @return 
 * @throws Exception 
 */  
private Map> groupBillingDataByExcpBatchCode(List billingList) throws Exception{  
    Map> resultMap = new HashMap>();  

    try{  
        for(TmExcpNewVo tmExcpNew : billingList){  

            if(resultMap.containsKey(tmExcpNew.getExcpbatch())){//map中异常批次已存在,将该数据存放到同一个key(key存放的是异常批次)的map中  
                resultMap.get(tmExcpNew.getExcpbatch()).add(tmExcpNew);  
            }else{//map中不存在,新建key,用来存放数据  
                List tmpList = new ArrayList();  
                tmpList.add(tmExcpNew);  
                resultMap.put(tmExcpNew.getExcpbatch(), tmpList);  

            }  

        }  

    }catch(Exception e){  
        throw new Exception("按照异常批次号对已开单数据进行分组时出现异常", e);  
    }  

    return resultMap;  
} 

你可能感兴趣的:(java技术总结)