Java 8中如何按属性区分呢?
下文笔者讲述Java8中按属性区分的方法及示例分享,如下所示
persons.stream().distinct(); 如果根据指定属性区分,则可以使用以下方法区分 persons.stream().distinct(p -> p.getName());例:
public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) { Set<Object> seen = ConcurrentHashMap.newKeySet(); return t -> seen.add(keyExtractor.apply(t)); } persons.stream().filter(distinctByKey(Person::getName))
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。