Comment supprimer les doublons dans un vecteur

Résolu
cs_mirosa Messages postés 15 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 6 mai 2012 - 15 janv. 2012 à 23:11
cs_mirosa Messages postés 15 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 6 mai 2012 - 24 janv. 2012 à 13:40
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

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
16 janv. 2012 à 08:25
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
3
shaiulud Messages postés 404 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 15 juillet 2014 22
19 janv. 2012 à 11: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
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
20 janv. 2012 à 07:52
Alors, ou en es tu ?
0
cs_mirosa Messages postés 15 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 6 mai 2012
24 janv. 2012 à 13:40
bonjour,
merci à tous pour les idées ; j'essaye de travailler avec une autre méthodes .
merci
0
Rejoignez-nous