Java 8 Distinct by property

后端 未结 29 2395
傲寒
傲寒 2020-11-21 22:35

In Java 8 how can I filter a collection using the Stream API by checking the distinctness of a property of each object?

For example I have a list of

29条回答
  •  清歌不尽
    2020-11-21 23:21

    Distinct objects list can be found using:

     List distinctPersons = persons.stream()
                        .collect(Collectors.collectingAndThen(
                                Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Person:: getName))),
                                ArrayList::new));
    

提交回复
热议问题