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

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

    try{  
        for(TmExcpNewVo tmExcpNew : billingList){  

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

            }  

        }  

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

    return resultMap;  
} 

猜你喜欢

转载自blog.csdn.net/zr527397749/article/details/54093916