使用语言:JAVA
如何将List中存放的实体按照某个字段进行分组呢?来看看下面的例子,假如实体中有个字段叫批次号,我们将具有相同批次号的实体放在一起,那么怎么实现呢?看下面的代码:
可以定义个Map,Map的key用于存放异常批次号,value存放实体集合List<TmExcpNewVo>。循环要排序的List
-
-
-
-
-
-
- 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())){
- resultMap.get(tmExcpNew.getExcpbatch()).add(tmExcpNew);
- }else{
- List<TmExcpNewVo> tmpList = new ArrayList<TmExcpNewVo>();
- tmpList.add(tmExcpNew);
- resultMap.put(tmExcpNew.getExcpbatch(), tmpList);
-
- }
-
- }
-
- }catch(Exception e){
- throw new Exception("按照异常批次号对已开单数据进行分组时出现异常", e);
- }
-
- return resultMap;
- }