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 :

[Map] Tableau d'association trié par ordre d'insertion


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Points : 63
    Points
    63
    Par défaut [Map] Tableau d'association trié par ordre d'insertion
    Bonjour, je voudrait créer un tableau d'association du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Map<String,String> maMap = new HashMap<String, String>();
    Je veux ajouter différents couples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    maMap.put("Toto", "Enfant");
    maMap.put("Albert", "Adulte");
    jusque là tout va bien, mais je voudrais récupérer les couples dans l'ordre ou je les ai insérés...
    Or une hashmap n'est pas fait pour çà, ni une sortedmap ....

    Quelle structure de donnée pourrais-je utiliser à votre avis?

    Merci

    Nico

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Regarde LinkedHashMap.
    Mais attention au comportement quand tu ajoutes plusieurs fois la même clé ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Points : 63
    Points
    63
    Par défaut
    J'essayerai de regarder çà demain... mais je vais de plus en plus vers l'idée de créer une inner class....
    Vous en pensez quoi ?

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Pourquoi une inner-class ???

    a++

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Points : 63
    Points
    63
    Par défaut
    Bonjour,
    et bien en fait pour être plus précis, voilà le type de map que je dois utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SortedMap<String,SortedMap<String, Map<Object, String>>>
    La map la plus à droite étant celle que je veux garder ordonnée suivant l'ordre d'insertion.
    Comme cet objet ne sera utilisé que dans la classe courante je pensais créer une inner class "MyClass" pour remplacer les map ci-dessus par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SortedMap<String,SortedMap<String, List<MyClass>>>
    Mais je ne suis pas vraiment sur de moi...
    Qu'en pensez-vous ?

    Nico

  6. #6
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    En fait tout dépend de comment tu veux pouvoir accéder aux éléments ensuite ...
    Si tu veux uniquement pouvoir les avoir dans l'ordre, une List est plus adaptée.
    Si tu veux pourvoir les avoir dans l'ordre et par clé, alors tu dois t'orienter vers une LinkedHashMap ...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Points : 63
    Points
    63
    Par défaut
    J'ai fini par utiliser une LinkedHashMap et tout fonctionne correctement...
    Merci

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/01/2012, 11h24
  2. Tri par ordre croissant dans variable tableau
    Par jojo86 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 27/11/2009, 16h51
  3. [Excel\VBA] tri par ordre alphabatique et cellule associée
    Par jefe.k dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/02/2007, 15h40
  4. URGENt: recherche dans un tableau trié par ordre alphabetiqu
    Par JulPop dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/02/2005, 17h21
  5. Tri par ordre alphabétique
    Par orus8 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 17/04/2003, 19h27

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