java8 多个list对象用lambda求差集

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

调用接口获取的数据集合

List list = response.getData().getItems();

本地查询出来的账户集合

List towList = accountRepository.findAll();

筛选差集代码

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

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

你可能感兴趣的:(java8 多个list对象用lambda求差集)