Remover duplicata baseado em um dos atributos - HashSet[RESOLVIDO]
4 respostas
L
Lucas_Emanuel
Oi, uma dúvida que não estou conseguindo sanar:
Tenho uma classe, por exemplo, Pessoa.
Ela tem ID e Nome.
No momento de inserção no HashSet, quero que o Set considere como duplicata tando pelo ID quanto pelo Nome. Tentei de várias maneiras sobrescrever os equals e HasCode.
a) Se fosse um banco de dados, sua chave primária seria “ID” ou “ID + Nome” ou “Nome”?
b) Você não pode sobreescrever o método “put” ?
Vini_Fernandes
Cara, voce tem que criar um atributo composto pelo Id e pelo nome de cada Pessoa tal que garanta a unicidade de cada objeto. Outra coisa, para implementar a funcionalidade que voce deseja voce tera que implementar a interface Comparable. Veja a seguir:
Pois dessa forma voce podera ordernar seus objetos utilizando um TreeSet.
T+
L
Lucas_Emanuel
Vini Fernandes:
Cara, voce tem que criar um atributo composto pelo Id e pelo nome de cada Pessoa tal que garanta a unicidade de cada objeto. Outra coisa, para implementar a funcionalidade que voce deseja voce tera que implementar a interface Comparable. Veja a seguir: