Map降低List的循环次数和频繁访问数据库的方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/ng_xiaohe/article/details/102738527

Java如何优化代码与降低时间复杂性

Map集合在List循环中的作用

我们在实战开发中经常会用for循环,一般有两层或者三层,当数据量大或者需要频繁访问数据库的时候效率会很低很低,影响我们接口的查询速率,从而使得用户体验较差,下面分享下平时比较普通的优化代码提高效率的方法。

Map集合解决的办法

查询:
1.当涉及到频繁访问数据库,也就是在for循环里面有查询,就像下面这个查询,当循环的List中数据较大且频繁调用数据库会使得效率非常低;
for (int i = 0; i < unReport.size(); i++) {
HrWorkFirstItem hrWorkFirstItem = new HrWorkFirstItem();
List leaveList = hrWorkLeaveService.getHrWorkLeaveInfo(hrWorkFirstItem);
if (null == leaveList || leaveList.size() == 0) {
unleave.add(leaveDate);
}
}
2. 出现上述情况Map也就大显神通的时候了,第一步:确定map的key,一般是HrWorkLeaveItem主键或者其他字符串信息;第二步:List leaveList = hrWorkLeaveService.getHrWorkLeaveInfo(hrWorkFirstItem)所涉及的的信息进行sql查询或者Jpa查询出来,存入到List集合,注意排序,用Map所需要的key排序;第三步:查询出来后将数据封装到Map集合中;第四步:主键定位,降低循环或者减少数据库访问次数;
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ng_xiaohe/article/details/102738527
今日推荐