写代码时经常遇到对集合中某个字段进行去重,用遍历的话既浪费时间又要写大量代码,今天给大家介绍借助jdk8的新特性--> Stream流进行处理
listVOS.stream()
.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(StageCheckListVO::getStackBatch))), ArrayList::new));
listVOS.stream() .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(StageCheckListVO::getStackBatch))), ArrayList::new));
其中 StageCheckListVO::getStackBatch 是你自己类中要去重的字段名称
还可以使用以下方法
listVOS.stream().map(StageCheckListVO::getStackBatch).collect(Collectors.toSet());
其中map()里是要去重的字段,然后转成set集合即可实现去重