java8 两个相同list去重,过滤相同元素

集合1

  / / 需要过滤的集合
  List<UserRoleInfo>  first= new ArrayList<>();  
  
  / / 参照集合
  List<UserRoleInfo>  second= new ArrayList<>();


 List<UserRoleInfo> lastResult = first.stream()
                .filter(add -> second.stream()
                        .noneMatch(all -> Objects.equals(add.getRoleId(), all.getRoleId()) && Objects.equals(add.getUserId(), all.getUserId()))).collect(Collectors.toList());



  过滤条件:  Objects.equals(add.getRoleId(), all.getRoleId()) 
        多个条件用  && 连接

过滤前数据
参数数据

过滤后数据

你可能感兴趣的:(lambda,jdk1.8,java,stream,filter)