根据List利用Stream查询指定数据

根据List利用Stream查询指定数据

需求:
  • 需要修改一组数据,根据条件查询出未修改之前的存放在List1中,在之前的操作中就已经将需要修改的数据进行修改,修改后的数据会形成一条新的数据,新数据除了id和修改项之外与原来数据相同,。新数据的attr5字段中保留着原来数据的id(由此来形成两条数据之间的联系),保留原来的数据是因为需要走流程审核。
  • 现在审核时要同时显示修改之前的和之后的,那么就根据查询条件查出之前需要修改的,再依次根据原来的id与新数据attr5之间的关系查出新修改的
问题:
  • 最开始使用for循环,最初测试的时候少量的数据还有用,但是如果数据很多,依次查询就会非常慢
解决办法:
  • list是需要变更的原来的集合 也就是b
  • list2是需要被查询的集合(应该的数据库全部的数据,这里只查询了attr5不为空的,减少查询的数据)也就是a
  • .filter()进行筛选
  • .anyMatch()判断的条件里,任意一个元素成功,返回true
  • b的id等于a的attr5就返回true

根据List利用Stream查询指定数据
http://example.com/2023/01/04/根据List利用Stream查询指定数据/
作者
陈佳乐
发布于
2023年1月4日
许可协议