将List中的实体按照某个字段进行分组的算法

2018-03-12 16:46:23

使用语言:JAVA


如何将List中存放的实体按照某个字段进行分组呢?来看看下面的例子,假如实体中有个字段叫批次号,我们将具有相同批次号的实体放在一起,那么怎么实现呢?看下面的代码:


可以定义个Map,Map的key用于存放异常批次号,value存放实体集合List<TmExcpNewVo>。循环要排序的List



[java] view plain copy

  1. /** 

  2.  * 按照异常批次号对已开单数据进行分组 

  3.  * @param billingList 

  4.  * @return 

  5.  * @throws Exception 

  6.  */  

  7. private Map<String, List<TmExcpNewVo>> groupBillingDataByExcpBatchCode(List<TmExcpNewVo> billingList) throws Exception{  

  8.     Map<String, List<TmExcpNewVo>> resultMap = new HashMap<String, List<TmExcpNewVo>>();  

  9.       

  10.     try{  

  11.         for(TmExcpNewVo tmExcpNew : billingList){  

  12.               

  13.             if(resultMap.containsKey(tmExcpNew.getExcpbatch())){//map中异常批次已存在,将该数据存放到同一个key(key存放的是异常批次)的map中  

  14.                 resultMap.get(tmExcpNew.getExcpbatch()).add(tmExcpNew);  

  15.             }else{//map中不存在,新建key,用来存放数据  

  16.                 List<TmExcpNewVo> tmpList = new ArrayList<TmExcpNewVo>();  

  17.                 tmpList.add(tmExcpNew);  

  18.                 resultMap.put(tmExcpNew.getExcpbatch(), tmpList);  

  19.                   

  20.             }  

  21.   

  22.         }  

  23.           

  24.     }catch(Exception e){  

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

  26.     }  

  27.       

  28.     return resultMap;  

  29. }  


  • 2020-05-21 10:56:53

    fixed z-index失效

    作为一个假的前端,在调试一个页面时出现了如下bug。 左侧的菜单固定为fixed时,二级菜单无法设置有效的z-index,导致菜单隐藏在页面元素之下,明明页面元素的z-index是1,但是无论把菜单的z-index设置为多大,都不管用。

  • 2020-05-24 08:10:18

    echarts标题(title)配置

    show:true,//显示策略,默认值true,可选为:true(显示) | false(隐藏) text: '主标题',//主标题文本,'\n'指定换行 link:'',//主标题文本超链接,默认值true target: null,//指定窗口打开主标题超链接,支持'self' | 'blank',不指定等同为'blank'(新窗口) subtext: '副标题',//副标题文本,'\n'指定换行 sublink: '',//副标题文本超链接