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

Langage Java Discussion :

Sous liste de liste


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Par défaut Sous liste de liste
    Bonjour à vous.
    J'ai besoin de votre aide.
    Je crée un xml avec des données sous la forme :
    <pref>
    <elem1 name="xxx" value="xxx">
    <elem2 name="xxx" value="xxx">
    </pref>

    pour cela, mon cahier des charges m'imposent de tout stocker dans des HashList.
    Je fais donc une [FONT=monospace][/FONT]hashtable = new Hashtable<String, Hashtable<String,String>>();
    je problème est que lorsque je veux mettre des éléments, je suis perdu :
    je fais dans un premier temps un
    hashtable.put(name,value);
    puis je voudrais faire un
    hashtable2.put(elem1,hashtable);
    mais ca ne marche pas, car la méthode put ne prend en compte que des String.
    Comment contourner ce problème?
    Merci d'avance.

  2. #2
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut
    Citation Envoyé par SkyBioSS
    mais ca ne marche pas, car la méthode put ne prend en compte que des String.
    Pas la méthode "put" standard du JDK pour les Map !

    Sinon, j'ai (sûrement) mal compris mais : pourquoi ne pas simplement stocker le tout dans une HashMap<String name,String value> avec des "put" successifs ?...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Par défaut
    Citation Envoyé par g_rare
    Pas la méthode "put" standard du JDK pour les Map !

    Sinon, j'ai (sûrement) mal compris mais : pourquoi ne pas simplement stocker le tout dans une HashMap<String name,String value> avec des "put" successifs ?...
    Ben j'aimerais bien, mais je fais une hashList qui contient une chaine de valeur et une hashlist de 2 string.
    Donc dasn un premier temps, je fais un put classique, puis aprs, pour dire que je mets un élément en premier et un hashmap en second, je fais comment car put ne marche pas...

  4. #4
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    moi j'aurai fait un truc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    hashtable = new Hashtable<String, Hashtable<String,String>>();
     
    while (/*parcours du fichier */) { 
      ....
      hash2 = new Hastable<String, String> ();
      while (/* parcours de chaque sous ensemble */) {
        ....
        hash2.put(name, value);
      }
      hashtable.put(name, hash2);
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Par défaut
    Citation Envoyé par MrDuChnok
    moi j'aurai fait un truc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    hashtable = new Hashtable<String, Hashtable<String,String>>();
     
    while (/*parcours du fichier */) { 
      ....
      hash2 = new Hastable<String, String> ();
      while (/* parcours de chaque sous ensemble */) {
        ....
        hash2.put(name, value);
      }
      hashtable.put(name, hash2);
    }
    J'ai fais ca au début mais ca ne marche pas car la methode put prend 2string en paramètre,et non un string et un hashlist

  6. #6
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut
    Citation Envoyé par SkyBioSS
    J'ai fais ca au début mais ca ne marche pas car la methode put prend 2string en paramètre,et non un string et un hashlist
    En gros si j'ai bien compris, tu utilises une classe "HashList" maison (et imposée) qui ne prend en paramètre clé et/ou valeur que des Strings ; résultat : il te faut 2 fonctions de convertions
    - liste de valeurs pour chaque clé (elle en String donc c'est bon) vers concaténation en String (voir avec quel séparateur)
    - et la fonction inverse (donc conversion String des valeurs vers liste de valeurs) ...

    voili_voilou

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Par défaut
    JE REFORMULE MON PROBLEME :

    je veux créer une liste de 2 éléments : -1 String et 1 Hashlist.
    Pour cela, je l'ai déclaré comme cela :
    hashtable = new Hashtable<String, Hashtable<String,String>>();

    Mais après, pour y ajouter des éléments, je fais comment? Car hashtable.put ne prend en compte que 2 string en paramètre et non 1 string et une hashlist

    Merci d'avance.

  8. #8
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Non, faux, tu mens...... Je n'yrais pas plus loin dans la diatribre Dieudonniste époque le pardon de Judas

    La méthode put de HashTable prend en paramètre ce que tu lui indique par tes génériques dans la déclaration de ta HashTable.
    Donc si tu as une HashTable<String,String> put prendra en paramètre deux String, mais si tu as une HashTable<String, Integer> put prendra en paramètre une String et un Integer

    Dans ton cas il faudra que tui commence par créer une HashTable<String,String> temporaire avec un put contenant deux string.
    Puis tu ajoutes à ta HashTable de base un couple composé d'une String et de la HashTable que tu viens de créer au moyen de la méthode put


    Pour te convaincre de ce que je dis voici la javadoc de HashTable ou l'on voit bien qu'ils ajoutent une Strin et un Integer dans une HashTable

    http://java.sun.com/j2se/1.5.0/docs/...Hashtable.html


    Petit apparté, vu que tu fais du java 1.5 remplace ta HashTable par une HashMap, c'est (a peu près) la même chose en plus récent donc plus optimisé.
    Si la HashTable existe encore c'est juste pour conserver la compatibilité ascendante de java, comme dans le cas du Vector.

Discussions similaires

  1. Regrouper une liste en liste de listes
    Par West01 dans le forum Prolog
    Réponses: 12
    Dernier message: 14/03/2008, 14h07
  2. Sous formulaire de liste
    Par edecoupi dans le forum IHM
    Réponses: 4
    Dernier message: 09/03/2007, 09h09
  3. Pb sous IE avec liste survolable
    Par Schplaf dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 25/03/2006, 16h35
  4. données sous frome de liste
    Par nah_wah dans le forum Langage
    Réponses: 4
    Dernier message: 15/12/2005, 17h21
  5. Réponses: 10
    Dernier message: 30/01/2005, 20h53

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