天天看點

将一個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());      

繼續閱讀