1 List list = new ArrayList<>();
 2 List listByName = list.stream().filter(distinctByName(item -> item.getName())).collect(Collectors.toList());
 3 private static <T> Predicate<T> distinctByName(Function<? super T , Object> keyExtractor) {      
 4     Map<Object , Boolean> seen = new ConcurrentHaskMap<>();
 5     return t -> seen.putIfAbsent(keyExtractor.apply(t)) , Boolean.True) == null;     
 6     
 7 }
posted on 2019-12-12 10:18  Alex-XYL  阅读(12884)  评论(0编辑  收藏  举报