Элемент List является объектом класса, и решение заключается в дедупликации в соответствии с атрибутами объекта класса.

Многие мелкие партнеры столкнутся со сценарием в разработке, то есть объекты класса хранятся в коллекции List, а мы хотим провести дедупликацию по атрибутам объектов класса, как выполнить этот сценарий?

Решение:

Всем известно, что эквиваленты объекта по умолчанию сравниваются в соответствии с адресом приложения объекта, поэтому, если вы хотите дедуплицировать объект, ключевым моментом является переписывание метода equals (если вы переписываете equals(), вы также должны переписать хэш-код())

1. В IDEA нажмите Alt + Insert в классе, чтобы автоматически переписать методы equals() и hashCode().

Мой класс имеет только один атрибут имени, и код перезаписи выглядит следующим образом:

2. Используйте новую функцию JDK8 Stream для дедупликации

list.stream().distinct().collect(Collectors.toList());

На этом этапе вы получаете дедуплицированный список.

Помните, что переписывание equals() должно переписывать hashcode()! ! !

Supongo que te gusta

Origin blog.csdn.net/w20001118/article/details/128723824
Recomendado
Clasificación