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 : concatener des valeurs


Sujet :

Collection et Stream Java

  1. #1
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Par défaut Map : concatener des valeurs
    Bonjour tout le monde,

    Voilà, j'ai une map déclarée comme telle (c'est une contrainte...) :

    Map <Integer, List> map = new TreeMap<Integer, List>();

    A partir d'un fichier texte, je dois lire ligne par ligne les informations et ensuite les ajouter dans la map. Mon problème est que je me retrouve parfois avec une clé déjà existante, et donc la valeur de la cle est remplacée par la nouvelle.

    Quelqu'un saurait-il comment ajouter la nouvelle liste à celle déjà existante ?
    Merci

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Salut,

    Sur quoi est basée ta clé entière ?

  3. #3
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Par défaut
    Pour être plus précis :

    if (map.containsKey(numero_equipe)) { // Si la map contient déjà la clé
    // Il faut simplement ajouter les poids à la suite des autres
    map.put(numero_equipe, map.get(numero_equipe).add(list));
    }

    else {
    map.put(numero_equipe, list);
    }


    Mais j'ai une erreur sur la ligne : map.put(numero_equipe, map.get(numero_equipe).add(list));

  4. #4
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, il n'y a pas besoin d'ajouter à nouveau l'élément dans la map, c'est une référence. Cela suffit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (map.containsKey(numero_equipe)) { // Si la map contient déjà la clé
        // Il faut simplement ajouter les poids à la suite des autres
        map.get(numero_equipe).addAll(list);
    }
    else {
        map.put(numero_equipe, list);
    }

  5. #5
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    EDIT : archi grillé, et pas mieux

  6. #6
    Membre habitué
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Par défaut
    cela fonctionne à merveille,
    un tout grand merci !

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 06/12/2013, 11h28
  2. Réponses: 1
    Dernier message: 06/05/2013, 14h44
  3. Concatener des valeurs dans une cellule
    Par teddy72000 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/04/2012, 21h43
  4. conteneur map avec des valeurs structurées
    Par Bubblegum dans le forum Langage
    Réponses: 4
    Dernier message: 10/08/2011, 11h09
  5. [XL-2003] Concatener des valeurs dans un tableau par macro
    Par kernkraft dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/01/2011, 06h39

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