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