ArrayList + problèmes

Résolu
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 13 avril 2005 à 09:56
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 - 14 avril 2005 à 09:44
Bonjour,

En faite, j'ai une classe Personne

Personne{
id ; // identifiant
nom ;
age;
}
Et j'ai une ArrayList de plusieurs instance de personne, le problème c'est que j'ai des instances qui ont le meme id. Exemple jean.id 1, paul.id 2, jean.id = 1 ;

Et en faite ma question est : comment virer toutes les Personne identiques sur la base de leur id dans mon arraylist ?

Voila si qq avait une idée...

Par avance, merci.

5 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
13 avril 2005 à 18:37
Si l'ArrayList possède des objects de même type, pourquoi ne pas plutôt faire une collection typée dans ce cas !?

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
3
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
14 avril 2005 à 09:44
Mon je te dirais bien, utilise une datatable
tu peux trier , faire plien de trucs dessus , en plus, tu mets une clés sur l'id, et ziou, plus d'id d'id identique car tu ne pourras plus insérer le meme id si celui ci existe ( meixu faut dans ce cas recherhcer si il existe déjà le meme id que d'essayer d'insérer dans un try catch())

Autrement, et bien moi je ne vois pas d'autre choix que d'implémenter ta propre routine de suppression d'id en double
au passage, ta classe pourrait dériver la fonction compare to, ca serait plus propre
Mais ce n'est que mon avis
3
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
13 avril 2005 à 12:07
Est ce volontairement que tu as des ID identiques ??


Si ce n'est pas le cas utilises des hashtables avec comme clés les id, plus performantes et surtout qui ne peuvent pas accepter deux id identiques en clé

::|The S@ib|::
MVP C#.NET
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
13 avril 2005 à 12:13
Sinon il y a la class CollectionBase que tu peux dériver pour avoir ta propre collection.
Elle possède un event du genre BeforeInsert(object o, int index) qui te permet de faire une certaine action juste avant que l'élément soit insérer dans ladite collection.
Dans ton cas, ce serait de ne pas ajouter l'élément si l'id se trouve déjà dans la collection.

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
13 avril 2005 à 13:05
Disons qu'en faite j'ai une ArrayList avec des objects identiques dedans et je voudrais mettre toutes ma arraylist dans un combobox mais en virant tout les objets identiques.
0
Rejoignez-nous