怎么将嵌套的for循环改成stream流

风草花月夜漫漫 2021-04-26 03:21:41

这个代码改成stream流,求大佬指导.


...全文
1187 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
戎码一生灬 2021-04-27
  • 打赏
  • 举报
回复
引用 2 楼 lz940222 的回复:
[quote=引用 1 楼 James灬Gosling 的回复:]你这是要优化代码?优化的点不在stream流,而是要改造不要在循环中删除数据,而是用个LIst将要删除的ID存储起来,在循环外面进行一次性删除


我这个是要根据id来删除数据的,如果放到list中还是得循环得到id才能删除了啊,那不就是多此一举了吗?[/quote]


你在循环中执行sql语句一百次,和你把ID存起来,在外面执行sql语句一次,性能提升不止百倍哦
  • 打赏
  • 举报
回复
引用 1 楼 James灬Gosling 的回复:
你这是要优化代码?优化的点不在stream流,而是要改造不要在循环中删除数据,而是用个LIst将要删除的ID存储起来,在循环外面进行一次性删除
我这个是要根据id来删除数据的,如果放到list中还是得循环得到id才能删除了啊,那不就是多此一举了吗?
maradona1984 2021-04-27
  • 打赏
  • 举报
回复
引用 2 楼 lz940222 的回复:
[quote=引用 1 楼 James灬Gosling 的回复:]你这是要优化代码?优化的点不在stream流,而是要改造不要在循环中删除数据,而是用个LIst将要删除的ID存储起来,在循环外面进行一次性删除
我这个是要根据id来删除数据的,如果放到list中还是得循环得到id才能删除了啊,那不就是多此一举了吗?[/quote] 代码中纯粹的循环,1ms能跑个几万次(就加减法这种逻辑),但与数据库打一次交道就至少1ms往上(最简单的sql,数据库在同机房),你想想这其中的差距吧
发啊发程序猿 2021-04-27
  • 打赏
  • 举报
回复
刚实习,被老大说的最多的是for循环里面不要去执行单条的操作,所有的for循环操作比如查询、删除,最好改成批量,比如在for循环拿到ids即可,在for循环外面selectBatchIds(我用的mybatis plus )就行了,你参考参考~
戎码一生灬 2021-04-26
  • 打赏
  • 举报
回复
你这是要优化代码?优化的点不在stream流,而是要改造不要在循环中删除数据,而是用个LIst将要删除的ID存储起来,在循环外面进行一次性删除

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧