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

Collection et Stream Java Discussion :

Sorting ArrayList<Vector<String, Double>>


Sujet :

Collection et Stream Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Points : 39
    Points
    39
    Par défaut Sorting ArrayList<Vector<String, Double>>
    Bonjour,
    J'ai un ArrayList sous forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<Vector<String, Double>>
    Donc, il s'agit d'une List dont les éléments sont des vector<String, Double>.
    Ce que je voudrais faire, c'est d'ordonner cette liste selon les valeurs Double de chaque vector. J'ai une idée simple mais le problème c'est la performance.

    Merci de vos aides.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    d'ou tu sort tes vecteurs à deux entrées générique? Ce sont des Vector<String> ou des Vector<Double> mais certainement pas des Vector<String,Double>

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    d'ou tu sort tes vecteurs à deux entrées générique? Ce sont des Vector<String> ou des Vector<Double> mais certainement pas des Vector<String,Double>
    Je me suis en fait mal exprimé. Par Vector<String,Double>, je voulais dire un vector dont le 1er élément est un String et le deuxième un Double. Donc, j'ai un arraylist qui ressemble à cela :
    [<A, 1.2>, <C, 2.5>, <D, 0.6>, <B, 2.1>, <E, 1.8>]

    Merci

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    tu aurais plus intéret alors à utiliser plutot qu'un vector une classe spécifique qui stocke le double et le string et qui implémente Comparable. ensuite tu stocke ça dans une sortedlist et tu es tranquille.

  5. #5
    Membre averti
    Homme Profil pro
    Consultant PLM
    Inscrit en
    Août 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant PLM

    Informations forums :
    Inscription : Août 2007
    Messages : 203
    Points : 304
    Points
    304
    Par défaut
    T'as une Map<String,Double> en fait, non ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 61
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    tu aurais plus intéret alors à utiliser plutot qu'un vector une classe spécifique qui stocke le double et le string et qui implémente Comparable. ensuite tu stocke ça dans une sortedlist et tu es tranquille.
    En fait mon problème c'est que quand il y a des valeurs égales, je dois lancer une autre méthode pour calculer une deuxième valeur selon la quel on pourra ordonner les valeurs égales. Alors, je ne sais pas du tout comment fonctionne Comparable et est-il adapté à mon cas. Tu veux bien développer cela un petit peu s'il te plait. Merci

    PS: en réalité cela ressemble à un HashMap mais dans l'implémentation je dois utiliser le vector par le souci E/S

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    comparable compare les élément deux à deux. Donc il sera à même de détecter une égalité, donc de lancer ton deuxième calcul. Maintenant, tu veux peut-être dire que ce calcul doit avoir lieu après avoir remplis tout la liste. Dans ce cas
    1) toujours ta classe custom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class MonType {
        public MonType(String s, Double d){.....}
        // + attributs et getters
    }
    2) une simple arraylist
    3) un appel à Collections.sort(List<MonTyp>, Comparator<MonType>)
    avec le Comparator une classe qui implémente Comparator<MonType> pour comparer les éléments deux à deux.

Discussions similaires

  1. Problème convertion string->double
    Par PP(Team) dans le forum C++
    Réponses: 5
    Dernier message: 07/03/2007, 08h51
  2. [jsp] Comment faire un cast de Vector to String?
    Par adil_vpb dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/03/2007, 11h29
  3. Différences entre ArrayList et Vector
    Par lionrouge dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 29/05/2006, 20h12
  4. std::sort() sur std::vector()
    Par tut dans le forum SL & STL
    Réponses: 20
    Dernier message: 05/01/2005, 19h15
  5. [info]arrayList ou Vector
    Par schousso dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 12/05/2004, 15h47

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