Многие мелкие партнеры столкнутся со сценарием в разработке, то есть объекты класса хранятся в коллекции List, а мы хотим провести дедупликацию по атрибутам объектов класса, как выполнить этот сценарий?
Решение:
Всем известно, что эквиваленты объекта по умолчанию сравниваются в соответствии с адресом приложения объекта, поэтому, если вы хотите дедуплицировать объект, ключевым моментом является переписывание метода equals (если вы переписываете equals(), вы также должны переписать хэш-код())
1. В IDEA нажмите Alt + Insert в классе, чтобы автоматически переписать методы equals() и hashCode().
Мой класс имеет только один атрибут имени, и код перезаписи выглядит следующим образом:
2. Используйте новую функцию JDK8 Stream для дедупликации
list.stream().distinct().collect(Collectors.toList());
На этом этапе вы получаете дедуплицированный список.
Помните, что переписывание equals() должно переписывать hashcode()! ! !