Salut tout le monde,
J'ai un ensemble d'objets dans une collection (Set).
Est-ce que je pourrais intervenir pour modifier certains attributs de ces objets là ?
Merci
Salut tout le monde,
J'ai un ensemble d'objets dans une collection (Set).
Est-ce que je pourrais intervenir pour modifier certains attributs de ces objets là ?
Merci
Salut:
Utilises un Iterator pour accéder aux éléments d'un objet Set.
Salut:
Modifier des éléments d'un objet Set peut briser la régle d'unicité des objets.
Donc il faut faire attention.![]()
Salut,
Et comment je peux accéder à l'objet à travers son Iterator?
Voilà j'ai le code suivant
Merci par avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Set<Maclasse> MonSet; //Après initialisation de MonSet qui est un ensemble d'objets de MaClasse, je veux accéder à certains attributs de chaque objet pour les modifier. for (Iterator i=MonSet.iterator(); i.hasNext();){ ?????? }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Set<Maclasse> MonSet; //Après initialisation de MonSet qui est un ensemble d'objets de MaClasse, je veux accéder à certains attributs de chaque objet pour les modifier. for (Iterator i=MonSet.iterator(); i.hasNext();){ Object obj = i.next(); }
Salut,
Comme on est en Java 5.0 et que la collection est paramétré, autant conserver le type :
Ou mieux avec la boucle for étendus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Set<Maclasse> MonSet; //Après initialisation de MonSet qui est un ensemble d'objets de MaClasse, je veux accéder à certains attributs de chaque objet pour les modifier. for (Iterator<Maclasse> i=MonSet.iterator(); i.hasNext();){ Maclasse obj = i.next(); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for (Maclasse obj : monSet) { // ... }
Maintenant, comme cela a été dit, si l'objet est modifié de telle manière que cela impacte les méthodes hashCode()/equals(), cela peut poser d'étranges problèmes...
a++
Salut:
Il est impérative de récréer l'objet Set après avoir modifier ses éléments pour ne pas avoir des éléments "égaux". (Je parle ici de l'égalité telle qu'elle définie par la méthode equals()).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Set<MyClass> set = new HashSet<MyClass>(); // Peupler la collection // ... // Modifier quelques objets de la collections // ... // Recréer la collection (supprimer les doublons) set = new HashSet<MyClass>(set);![]()
Partager