【java】将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】将List中的实体按照某个字段进行分组的算法)