业务场景:调用同步接口获取当前全部有效账户,数据库已存在部分账户信息,因此需要筛选同步接口中已存在本地的帐户。
调用接口获取的数据集合
List<AccountVo> list = response.getData().getItems();
本地查询出来的账户集合
List<Account> towList = accountRepository.findAll();
筛选差集代码
Set<String> towListIds=towList.stream().map(e -> e.getOwnerId()).collect(Collectors.toSet());
List<AccountVo> distinctByUniqueList = list.stream()
.filter
(
item -> !towListIds.contains(item.getOwnerId())
)
.collect(Collectors.toList());
就这样获取到需要处理的数据