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

cs_mirosa 15 Messages postés jeudi 16 avril 2009Date d'inscription 6 mai 2012 Dernière intervention - 15 janv. 2012 à 23:11 - Dernière réponse : cs_mirosa 15 Messages postés jeudi 16 avril 2009Date d'inscription 6 mai 2012 Dernière intervention
- 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;
}
Afficher la suite 

4 réponses

Répondre au sujet
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscription 15 mars 2018 Dernière intervention - 16 janv. 2012 à 08:25
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Julien39
shaiulud 405 Messages postés mardi 18 décembre 2001Date d'inscription 15 juillet 2014 Dernière intervention - 19 janv. 2012 à 11:19
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de shaiulud
cs_Julien39 6449 Messages postés mardi 8 mars 2005Date d'inscription 15 mars 2018 Dernière intervention - 20 janv. 2012 à 07:52
0
Utile
Alors, ou en es tu ?
Commenter la réponse de cs_Julien39
cs_mirosa 15 Messages postés jeudi 16 avril 2009Date d'inscription 6 mai 2012 Dernière intervention - 24 janv. 2012 à 13:40
0
Utile
bonjour,
merci à tous pour les idées ; j'essaye de travailler avec une autre méthodes .
merci
Commenter la réponse de cs_mirosa

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.