//多个条件 List<V2permissionVo> addGradeScoreRuleList = oldList.stream() .filter(gradeRule -> !newList.stream().map(dbGradeRule -> dbGradeRule.getServerId() + dbGradeRule.getSubAccId()) .collect(Collectors.toList()).contains(gradeRule.getServerId() + gradeRule.getSubAccId())) .collect(Collectors.toList()); System.out.println("addGradeScoreRuleList = " + addGradeScoreRuleList); //单个 List<V2permissionVo> differenceB = oldList.stream().filter( b -> newList.stream().map(V2permissionVo::getServerId) .noneMatch(id -> StringUtils.equals(b.getServerId(), id)) ) .collect(Collectors.toList()); System.out.println(differenceB);