java常用的算法
来源:互联网 发布:校园网mac地址克隆 编辑:程序博客网 时间:2024/05/17 00:00
一、根据List<Model>进行分组:
Map<String, StudycaseSgradeVo> mapStuGrade = Maps.uniqueIndex(lastList, new Function<StudycaseSgradeVo, String>() { public String apply(StudycaseSgradeVo from) { return from.getStudentNo(); } });
根据studentNo进行分组,key为studentNo,value为studentNo对应的实体Vo。
或者:
List<HomeworkStudent> list = homeworkStudentMapper.queryListByHomeworkTime("2017-11-11"); //按照class进行分组 Map<String, List<HomeworkStudent>> map = new HashMap<String, List<HomeworkStudent>>(); for(HomeworkStudent hs : list) { List<HomeworkStudent> staList = map.get(hs.getHomeWorkListData().getClassCode()); if(staList==null){ staList = new ArrayList<HomeworkStudent>(); } staList.add(hs); map.put(hs.getHomeWorkListData().getClassCode(), staList); }
分组后的结果没map集合,key为分组的值,value为该值下的集合
二、去除List<Model>中重复的数据
Set set = new HashSet(); List<StudycaseSgradeVo> newList = new ArrayList(); for(StudycaseSgradeVo vo : list) { if(set.add(vo.getStudentName())) { newList.add(vo); } } list.clear(); list.addAll(newList);
set作为工具进行和原来数据一样有序去重!
或者
//根据算法进行过滤 和原数据的顺序一致 for (int i = 0; i < list.size() - 1; i++) { for (int j = list.size() - 1; j > i; j--) { if (list.get(j).gettCode().equals(list.get(i).gettCode())) { list.remove(j); } } }
//重写hashCode()和equal()方法 不然去重不了,结果无序号 HashSet h = new HashSet(list); list.clear(); list.addAll(h);
阅读全文
0 0
- java 常用的算法
- java的常用算法
- java常用的算法
- java常用的排序算法
- 常用的排序算法-java
- 图的常用算法的Java实现
- 图的常用算法的Java实现
- 图的常用算法的java实现
- Java实现的常用的查找算法
- 一些常用的排序算法代码(JAVA)
- java中几种常用的排序算法
- java中几种常用的排序算法
- java面试中常用的排序算法
- java面试中常用的排序算法
- 常用排序算法的java实现
- java实现的常用压缩算法
- java实现的几个常用排序算法
- JAVA常用的一些经典算法
- OS X10.11升级安装Cocoapods出现-bash: pod: command not found
- Hook框架xposed的简单demo
- web.xml中contextConfigLocation的作用
- 寻找第k大的数
- Lua脚本:C调用Lua实现方法
- java常用的算法
- 【gitlab】—项目实践中常见命令(二)
- Java
- Hazelcast搭建教程
- 刚体 Rigidbody
- 配置python环境及跑通第一个程序
- 简单while循环实现多位数字反转输出
- UE4打包时出现 FMemoryWriter does not support data larger than 2GB 的解决方案
- 痛心疾首,慎用getLong