天天看点

将一个List通过某个字段去重复保持有序

stream将List转成Map再将Map转成List

private <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {

    Map<Object,Boolean> map = new HashMap<>();

    return t -> map.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;

}

List<VwCmosOut> newL = new ArrayList<>();

newL = newL.stream().filter(distinctByKey(o -> o.getFromLpnCode())).collect(Collectors.toList());      

继续阅读