IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Trier un ArrayList


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 88
    Points : 55
    Points
    55
    Par défaut Trier un ArrayList
    Bonjour,

    J'ai beau cherche aucun moyen de trier une arraylist par trie alphabétique.

    Si vous avez un début de solution je suis preneur car je trouve en rond. Le contenu de mon ArrayList sont des string mais je vois pas trop comment les comparé pour en sortir une liste par tri alphabétique.

    Merci.

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Quelle version du framework utilises-tu ? Si tu utilises au moins la version 2, oublie ArrayList et utilise une liste générique (List<T>). Ce sera plus simple car le tri sera alors dépendant du type des éléments de la liste (le type étant connu contrairement avec un ArrayList).

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    List<String> liste = new List<String>();
     
    // Ajout d'éléments
    liste.Add("toto");
    liste.Add("bateau");
    liste.Add("uranus");
     
    // Tri
    liste.Sort();
    Et si tu ne peux pas utiliser une liste générique, c'est pareil. Tu appelles la méthode Sort et ce sera bon.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2006
    Messages : 30
    Points : 98
    Points
    98
    Par défaut
    Une solution si tu es contraint d'utiliser une ArrayList serait d'implémenter l'interface IComparer selon tes besoins et de passer une instance de cette classe à la méthode Sort de ton ArrayList.

    http://msdn.microsoft.com/en-us/library/0e743hdt.aspx

  4. #4
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    La méthode Sort sans argument utilise le comparateur par défaut. Donc si le tri de base pour les String lui convient pas besoin d'aller jusque là. S'il peut se passer des ArrayList et utiliser des List<T> ce serait un plus par contre.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 88
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par StormimOn Voir le message
    Quelle version du framework utilises-tu ? Si tu utilises au moins la version 2, oublie ArrayList et utilise une liste générique (List<T>). Ce sera plus simple car le tri sera alors dépendant du type des éléments de la liste (le type étant connu contrairement avec un ArrayList).

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    List<String> liste = new List<String>();
     
    // Ajout d'éléments
    liste.Add("toto");
    liste.Add("bateau");
    liste.Add("uranus");
     
    // Tri
    liste.Sort();
    Et si tu ne peux pas utiliser une liste générique, c'est pareil. Tu appelles la méthode Sort et ce sera bon.
    Merci beaucoup !!

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    La classe SortedList te permet également d'obtenir une liste triée d'éléments dès leur ajout.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trier un arrayList
    Par tamildark dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 05/04/2011, 23h34
  2. Trier un ArrayList selon deux criteres
    Par chamanR dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 20/10/2010, 00h39
  3. Trier une arrayList
    Par toma03 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 28/07/2009, 15h32
  4. Trier un arrayList selon differents criteres
    Par TangoZoulou dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 07/05/2009, 11h05
  5. trier une arraylist selon un critère
    Par marion5515 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 15/03/2008, 20h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo