使用Java8新特性对集合中,某一字段进行去重
Page<OperationzResponseVM> page = operationzService.queryByIsvApp(request, pageable);
HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(
ServletUriComponentsBuilder.fromCurrentRequest(), page);
ArrayList<OperationzResponseVM> collect = page.getContent().stream()
.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(OperationzResponseVM::getOperationId))), ArrayList::new));
- 使用TreeSet进行去重,新值会替换老值
- collectingAndThen方法是收集集合完毕后,在对这个集合进行其它后续处理,ArrayList::new 就是它的作用,可以去重后,由Set转为List
参考链接地址
对多个字段进行去重