业务场景:调用同步接口获取当前全部有效账户,数据库已存在部分账户信息,因此需要筛选同步接口中已存在本地的帐户。
调用接口获取的数据集合
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());
就这样获取到需要处理的数据。