Bonjour à tous,
Je souhaiterais qu'un Boolean contenu dans l'objet du TreeSet change d'état lorsque j'essaie d'ajouter un objet identique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 public class CommuneDto implements Comparable<CommuneDto> { private String code; private String libelle; private Boolean indicActif; @Override public boolean equals(Object o) { if (o == null || getClass() != o.getClass()){ return false; } CommuneDto commune = (CommuneDto) o; if (this.getCode().equals(commune.getCode()) && this.getLibelle().equals(commune.getLibelle())) { return true; } return false; } @Override public int hashCode() { return code.hashCode() + libelle.hashCode(); } /* (non-Javadoc) * @see java.lang.Comparable#compareTo(java.lang.Object) */ @Override public int compareTo(CommuneDto o) { return this.getCode().compareTo(o.getCode()); }Je ne sais pas si je suis très clair, lorsque j'ajoute une commune à mon treeSet et que cette commune existe déjà dans ce treeSet, je voudrais que indicActif soit vrai.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Set listeCommune = new TreeSet<CommuneDto>(); listeCommune.add(competenceGeographiqueService.chargerCommune(codeCommune));
Je ne vois pas comment faire avec un treeSet.
J'avais pensé à inclure la mise à jour du boolean dans les methode hashCode ou equals que j'ai redéfini. Est une bonne idée?
Si c'est pas possible, je passerai par une arrayList mais je devrai gérer les doublons à la main.
Si quelqu'un à une idée sur comment faire....
Merci pour vos réponses
Partager