Java 8 Distinct by property

To get a list of distinct elements by a property in Java 8, you can use the distinct() method of the Stream interface and the map() method to extract the property from each element.

Here is an example of how you can get a list of distinct elements by a property in Java 8:

List<Person> people = Arrays.asList(
    new Person("Alice", 25),
    new Person("Bob", 30),
    new Person("Charlie", 25)
);

List<Integer> ages = people.stream()
    .map(Person::getAge)
    .distinct()
    .collect(Collectors.toList());

System.out.println(ages); // [25, 30]

In this example, the people list contains three Person objects. The map() method is used to extract the age property from each Person object and the distinct() method is used to remove duplicate ages. Finally, the collect() method is used to collect the distinct ages into a list.

You can use a similar approach to get a list of distinct elements by any property of an object.

I hope this helps! Let me know if you have any questions.