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 :

java.util.Hashmap a partir d'une liste de String


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut java.util.Hashmap a partir d'une liste de String
    Bonjour a tous

    N'etant vraiment pas doué en Java,j'ai besoin de personnes aimant les défis.
    je dispose d'une liste de String. Chaque String de cette liste est de la forme :
    element1_element2_element3 (_ est mon separateur).

    Je voudrais convertir cette List<String> en map<String, map<String, String>> pour que chaque element soit de la forme

    map<element2,map<element1,element3>

    Merci beaucoup

  2. #2
    Membre émérite Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Par défaut
    Salut,
    je comprends pas vraiment l'intérêt de ta deuxième map.
    Sinon sur l'algo:

    - Tu déclares et instancies ta premiere Map, disons map1
    - Tu itères sur ta liste
    - Pour chaque éléme, tu split( ou tokenise) avec ton séparateur
    - Tu vérifie que t'as bien 3 éléments eventuellement
    - Tu déclares et instancies ta deuxieme Map, disons map2
    - tu fais map2.put(elem1, elem3)
    - tu fais map1.put(elem2, map2)

    Note: si plusieurs ligne comporte le même elem2, le dernier put écrasera le précédent.

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut
    Ok merci beaucoup Heimdal

    C'est ce que j'avais commencé a faire. C'est les deux dernières lignes que tu as ecrites que je n'avait pas bien compris (et que je comprends toujours moyennement en fait )

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut
    J'ai quand meme une question concernant le 2ème put.
    Eclipse me dit que mon 2ème argument doit etre une String -> y a comme un souci.

    Voici ce que j'ai et forcément ca coince au 2ème put

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	Map<String,String> m_map1 = new HashMap<String,String>();
    	Map<String,String> m_map2 = new HashMap<String,String>();	
     
    	for (int i=0; i< m_roles.size(); i++ ) {
    	   String test = m_roles.get(i);
    	   String [] temp = test.split("_");
    	   System.out.println("right = " + temp[0] + "  ***  " + temp[1] + "  ***  " + temp[2]);
    	   m_map2.put(temp[0], temp[2]);
     
     
     
    	   m_map1.put(temp[1], m_map2);	   
    	}
    On peut bien faire une map de map ?

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut
    j'ai rien dit. J'avais pas vu que j'avais pas déclaré m_map1 comme il faut.
    Bref etourderie ...

    Désolé

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 747
    Par défaut
    J'ai tout de même une dernière question.
    Comment je dois faire si je veux visualiser mes resultats ?? si je veux regarder que m_map1 a bien toutes les valeurs que je lui ai données ??

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

Discussions similaires

  1. Fuites mémoire dans une classe "java.util.HashMap$Entry"
    Par ladyingold dans le forum Collection et Stream
    Réponses: 19
    Dernier message: 10/02/2012, 15h51
  2. Réponses: 32
    Dernier message: 22/09/2005, 10h40
  3. Réponses: 3
    Dernier message: 19/05/2005, 17h52
  4. Réponses: 3
    Dernier message: 25/04/2005, 15h26
  5. Trouver equation à partir d'une liste de points
    Par scarabee dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 27/05/2004, 17h05

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