Comment supprimer les doublons dans un vecteur [Résolu]

Signaler
Messages postés
15
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
6 mai 2012
-
Messages postés
15
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
6 mai 2012
-
bonjour,
je veux supprimer les doublons dans un vecteur mais la méthode ne marche pas
aidez moi s.v.p
voila la méthode :
static Vector supprimerDoublon (Vector vec)
{
for (int i1=vec.size()-1; i1>0; i1--)
{
for(int i2=i1-1;i2>=0;i2--)
{
if (vec.elementAt(i1)==vec.elementAt(i2))
vec.remove(i2);

}
}
return vec;
}

4 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
302
Bonjour,

vec.elementAt(i1)==vec.elementAt(i2) : cette ligne compare les références des objets et non les objets eux mêmes, utilises les méthodes equals ou compareTo pour comparer les objets entre eux.

Notes que l'objet que contient le vecteur doit implementer Comparable
Messages postés
404
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
15 juillet 2014
19
Pourquoi
utiliser Vector qui est (très) lent (syncronized) au lieu d'ArrayList


pourquoi pas HashSet dans ton cas ? qui serais le plus adapté.
ta classe Attribut doit avoir equals et hashCode surchargée.

Pour choisir la bonne Celloction :
http://www.jmdoudoux.fr/java/dej/chap-collections.htm#collections-2
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
302
Alors, ou en es tu ?
Messages postés
15
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
6 mai 2012

bonjour,
merci à tous pour les idées ; j'essaye de travailler avec une autre méthodes .
merci