В Java 8 как я могу фильтровать коллекцию с помощью API Stream
, проверяя отличимость свойства каждого объекта?
Например, у меня есть список объектов Person
, и я хочу удалить людей с тем же именем,
persons.stream().distinct();
Будет использовать проверку равенства по умолчанию для объекта Person
, поэтому мне нужно что-то вроде
persons.stream().distinct(p -> p.getName());
К сожалению, метод distinct()
не имеет такой перегрузки. Без изменения проверки равенства внутри класса Person
можно ли это сделать лаконично?