Java 8 中如何使用Lambda表达式对多个List对象执行差集操作?

2026-05-16 02:240阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计582个文字,预计阅读时间需要3分钟。

Java 8 中如何使用Lambda表达式对多个List对象执行差集操作?

业务场景:调用同步接口获取当前全部有效账户,数据库已存在部分账户信息,需筛选出同步接口中已存在的本地账户。

代码片段:java同步接口获取数据集 ListAccountVo list=response.getData();

业务场景:调用同步接口获取当前全部有效账户,数据库已存在部分账户信息,因此需要筛选同步接口中已存在本地的帐户。

调用接口获取的数据集合

List<AccountVo> list = response.getData().getItems();

本地查询出来的账户集合

List<Account> towList = accountRepository.findAll();

筛选差集代码

List<AccountVo> distinctByUniqueList = list.stream()

.filter(item -> !towList.stream() .map(e -> e.getOwnerId()) .collect(Collectors.toList()) .contains(item.getOwnerId())) .collect(Collectors.toList());

就这样获取到需要处理的数据。

阅读全文

本文共计582个文字,预计阅读时间需要3分钟。

Java 8 中如何使用Lambda表达式对多个List对象执行差集操作?

业务场景:调用同步接口获取当前全部有效账户,数据库已存在部分账户信息,需筛选出同步接口中已存在的本地账户。

代码片段:java同步接口获取数据集 ListAccountVo list=response.getData();

业务场景:调用同步接口获取当前全部有效账户,数据库已存在部分账户信息,因此需要筛选同步接口中已存在本地的帐户。

调用接口获取的数据集合

List<AccountVo> list = response.getData().getItems();

本地查询出来的账户集合

List<Account> towList = accountRepository.findAll();

筛选差集代码

List<AccountVo> distinctByUniqueList = list.stream()

.filter(item -> !towList.stream() .map(e -> e.getOwnerId()) .collect(Collectors.toList()) .contains(item.getOwnerId())) .collect(Collectors.toList());

就这样获取到需要处理的数据。

阅读全文