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

avec Java Discussion :

Manipulation des listes dans des multimap en java


Sujet :

avec Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 54
    Par défaut Manipulation des listes dans des multimap en java
    Salut tout le monde,

    j'ai un petit souci dans la manipulation des multimap en java. Voila le code que j ai écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
       Multimap<Float, List<String>> big = HashMultimap.create();
     
        List<String> list1 = new ArrayList<String>();
     
        list1.add("A");
        list1.add("B");
        list1.add("C");
     
        System.out.println("List before  " + list1);
     
        big.put(0f, list1);
     
        list1.remove(2);
        big.put(0f, list1);
     
        System.out.println("List after  " + list1);
     
        for(Entry<Float, Collection<List<String>>> entry : big.asMap().entrySet()) {
     
              Float number = entry.getKey();
              Collection<List<String>> strings = entry.getValue();
     
             for(List<String> string : strings) {
                   System.out.println("Key " + number + " Value " + string);
              }
        }
    Voila, au lieu de me retourner :
    key 0.0 Value [A, B,C]
    key 0.0 Value [A, B]
    il me retourne toujours la même liste (celle après le remove) :
    key 0.0 Value [A, B]
    key 0.0 Value [A, B]
    Est ce qu il y a quelque chose qui m'échappe ?

    Merci de votre aide.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par ahmadou_20 Voir le message
    Est ce qu il y a quelque chose qui m'échappe ?
    Ben oui. C'est la même liste, que tu as mise deux fois dans la Map.

    Si tu changes cette seule et unique list, elle est changée partout où tu l'as mise, puisque c'est elle que tu changée. Qu'elle soit dans une Map ou pas ou ailleurs n'a pas d'importance.
    Tu devrais créer une nouvelle list à chaque fois.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 54
    Par défaut
    Merci de ta reponse thelvin.


    Mais il n ya pas moyen pour ne travailler qu avec la liste originale (list1 dans cet exemple) parce que ca risque de devenir trop lourd et trop complique (surtout avec de grandes listes et map) si j ecris :



    List<String> list1 = new ArrayList<String>();
    List<String> list2 = new ArrayList<String>();

    list1.add("A");
    list1.add("B");
    list1.add("C");

    big.put(0f, list1);


    list2.add("A");
    list2.add("B");

    big.put(0f, list2);

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par ahmadou_20 Voir le message
    Mais il n ya pas moyen pour ne travailler qu avec la liste originale (list1 dans cet exemple)
    Bien sûr qu'il y a moyen de le faire, mais ce que toi tu veux faire, c'est l'inverse.

    Citation Envoyé par ahmadou_20 Voir le message
    parce que ca risque de devenir trop lourd et trop complique (surtout avec de grandes listes et map) si j ecris :
    Ben écris autre chose, alors.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    List<String> list1 = new ArrayList<>();
     
    list1.add("A");
    list1.add("B");
    list1.add("C");
     
    big.put(0f, list1);
     
    List<String> list2 = new ArrayList<>(list1.sublist(0, 2));
     
    big.put(0f, list2);
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 54
    Par défaut
    Ah oui. C est parfait. Merci bcp thelvin.

    Tu m as bcp aide

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/03/2014, 09h04
  2. [XL-2003] Recherche dans des cellules contenant des listes
    Par Xorbane dans le forum Excel
    Réponses: 8
    Dernier message: 19/04/2013, 21h34
  3. Comment ajouter des séries dans des graphes sur des feuilles variables
    Par Molomarcopolo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2012, 16h26
  4. Créer des listes dans des listes
    Par engine dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/03/2008, 11h53
  5. [langage] probleme avec les listes dans des listes
    Par pqmoltonel dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2004, 12h32

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