【Java】——list中快速进行数据筛选
来源:互联网 发布:端口号的目的是 编辑:程序博客网 时间:2024/06/05 11:22
小编最近的项目中经常需要多个list拼接成一个,才能进行之后的操作,如何保证多个list拼接是一条数据呢?大家都知道list不能根据唯一标识进行筛选,那岂不成需要循环依次遍历,考虑系统处理的数据量,这个执行起来那是相当影响程序的执行效率了,不能这样将就啊,所以肯定能寻找到更好的方法!
记得看疯狂Java的时候集合和Map是放到同一章节的,而且Map最擅长就是检索,所以小编转换了一下思路,把上述用到的list,转换成Map<id,list>,这样在使用的时候就可以通过id,查询出对应的list,之后进行数据拼接,完美实现效果。
业务场景
批量导入学生成绩,但是导入的是学生的成绩,而存到数据库中却需要学生id,其中需要学号到学生id的转换。根据学号,查询对应的学生id存放到list中,将查询出来的学生id和学号匹配起来存到导入的时候解析出来的list中
代码实现:
List<StudentModel> studentModelList = studentFacade.queryStudentInfoByCodes(studentCodes); //将学生id放到对应的Map中 HashMap<String,String> studentCodeAndId = new HashMap<>(); for (StudentModel studentModel:studentModelList){ studentCodeAndId.put(studentModel.getStudentCode(),studentModel.getId()); } for (int i = 0 ;i<studentAndScoreModelList.size();i++){ StudentAndScoreModel studentAndScoreModel = studentAndScoreModelList.get(i); studentAndScoreModel.setStudentId(studentCodeAndId.get(studentAndScoreModel.getStudentCode())); }目前小编用到的就是这种方案,其中相比循环放到Map中再取出的方式简便许多,但是小编不知道是否还有更好的方案,如还有更好的方案,希望各位大神不惜赐教,小编不胜感激!
阅读全文
0 0
- 【Java】——list中快速进行数据筛选
- DataTable中进行数据筛选
- java中对list进行分页显示数据到页面
- DataRow中进行筛选
- 从数据中快速筛选想要的结果
- List<String>Linq筛选数据
- 使用Writer进行数据筛选
- Table中筛选数据
- 2007excel学习札记四——对整列进行数据筛选
- java中list取前几条数据
- java正则表达式从大量日志中筛选有用数据
- Java中List和Map的特性对两组大批量数据进行匹配
- java中对list集合中的数据按照某一个属性进行分组
- java中数组快速转成List集合
- JAVA中对LIST进行排序操作
- Java中对List进行排序
- java中如何对list进行排序
- Java中对List进行排序
- LeetCode 39. Combination Sum
- java打印五星图形,字符串数组
- September English summary
- Docker中安装Centos6
- HTTP Status 404-no result defined for action com.huida.action.LinkManAction and result input
- 【Java】——list中快速进行数据筛选
- 读书笔记-《Java NIO》:第二章 缓冲区(1)
- 找出单链表中的倒数第k个元素
- Tensorflow-save model
- matplotlib.pyplot绘图显示控制
- 一个标准的PID算法
- 素数打表
- python-pip python-dev build-essential无法安装E: Unable to correct problems, you have held broken package
- 机器视觉光源的选型要领