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 :

[Débutant(e)] Parcours d'un hashtable comme un vector


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 19
    Par défaut [Débutant(e)] Parcours d'un hashtable comme un vector
    voila j'aimerais bcp parcourir mon hashtable comme si ct un vecteur,

    je pensais me servir de .elements() mais apparemment cela ne fonctionne pas,

    auriez vous une idee?

  2. #2
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Il faut utiliser la méthode entrySet(); sa te donne une Collection de type Set contenant un ensemble de HashMap.Entry.

  3. #3
    Membre averti
    Inscrit en
    Février 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 19
    Par défaut
    hum oki j'ai trouvé un code m'expliquant ca, probleme je n'ai pas la bibliotheque dans netbeans

    je vous passe le code que j'ai trouvé en attendant

    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
    27
     
    import java.util.Map;
    import java.util.Hashtable;
    import java.util.Iterator;
    import java.util.Set;
     
    public class CollectionMapEntry {
      public static void main(String[] args) {
        Hashtable table = new Hashtable();
        for(int i = 0; i < 26; i++){
          char car = (char)('A' + i);
          table.put(new Integer(i), new Character(car));
        }
        System.out.println("Taille de la table de hachage : " + table.size());
        Set ensemble = table.entrySet();
        Iterator i = ensemble.iterator();
        while(i.hasNext()){
          Object o = i.next();
          System.out.println(o.getClass().getName() + "\t" + o.toString());
          Map.Entry entree = (Map.Entry)o;
          Character val = entree.getValue();
          System.out.print("\t" + entree.getKey() + " -> (ancienne) " + val + " (nouvelle) ");
          entree.setValue(new Character((char)(valeur.charValue() + 32)));
          System.out.println(entree.getValue());
        }
      }
    }

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 99
    Par défaut
    Salut,

    Tu peux modifier le code de la maniere suivante, peut etre qu'il tourne maintenant ? :
    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
    27
    28
     
    import java.util.Hashtable; 
    import java.util.Iterator;
     
    public class CollectionMapEntry { 
      public static void main(String[] args) { 
     
        Hashtable table = new Hashtable(); 
        for(int i = 0; i < 26; i++){ 
          char car = (char)('A' + i); 
          table.put(new Integer(i), new Character(car)); 
        } 
     
        System.out.println("Taille de la HashTable: " + table.size()); 
     
        Iterator itValue = table.values().iterator(); 
        Iterator itKey = table.keySet().iterator();
     
        System.out.println("Lecture de la HashTable");
     
        while(itValue.hasNext()){ 
          Character value = (Character)itValue.next();
          Integer key = (Integer)itKey.next();
          System.out.println("Key = " + key + " Value = " + value);  	
     
        } 
      } 
    }

  5. #5
    Membre averti
    Inscrit en
    Février 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 19
    Par défaut
    non en fait j'allais contourner le probleme en mettant un vecteur a la place donc ta solution tombe a point

    je vais la tester des que mon collegue aura finit les fenetres

    merci a toi

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 99
    Par défaut
    De rien, n'oublie de mettre le tag Resolu.
    A+

  7. #7
    Membre averti
    Inscrit en
    Février 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 19
    Par défaut
    oki, ben je test mais bon ca m'a l'air carrement correcte donc je mets resolut


  8. #8
    Membre averti
    Inscrit en
    Février 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 19
    Par défaut
    a mince iterator non plus fait pas partit des bibliotheques de netbeans :s

    quelqu'un sait ou je pourrais trouver ces bibliotheques?

  9. #9
    Membre chevronné Avatar de anitshka
    Inscrit en
    Mai 2004
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 624
    Par défaut
    iterator c pas dans java.util.* ?

  10. #10
    Membre averti
    Inscrit en
    Février 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 19
    Par défaut
    ben normalement si mais la je l'ai pas en J2ME, par contre j'ai java.util.enumeration; qui m'a l'air assez proche

  11. #11
    Membre chevronné
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Par défaut
    Citation Envoyé par Arkan
    ben normalement si mais la je l'ai pas en J2ME, par contre j'ai java.util.enumeration; qui m'a l'air assez proche
    Hello.
    Enumeration est l'ancienne classe qui offrait les presque même fonctionalités que Iterator. Je la considère deprecated, tout comme le Vector.

    A+

  12. #12
    Membre averti
    Inscrit en
    Février 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 19
    Par défaut
    hum oki enfin c tout ce que j'ai actuellement, je m'en contenterais donc

  13. #13
    Membre éprouvé Avatar de Oui-Oui MB
    Homme Profil pro
    Architecte technique
    Inscrit en
    Avril 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Avril 2005
    Messages : 111
    Par défaut
    Si je dois faire un parcours itératif dans une Hashtable j'utilise soit la méthode keys() soit values(). La première renvoie une Collection des clés de la Hashtable et l'autre les valeurs.

    Le plus simple est d'utiliser la méthode keys() puis de faire un nextElement() et de retrouver la valeur en utilisant la méthode get(Object) simplement.

    Enfin moi c'est ce que je fais et ça marche fort bien.

  14. #14
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 99
    Par défaut
    Salut,
    Desole pour le tag resolu

    Alors si tu as l'interface enumeration.
    Tu peux essayer le code suivant qui permet de lire tout les élements d'un Vector v

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
         for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
             System.out.println(e.nextElement());
         }
    Par contre c'est bizare de ne pas avoir les autres interfaces ? Ton classpath netbean est correctement configuré ?

  15. #15
    Membre averti
    Inscrit en
    Février 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 19
    Par défaut
    pas de probleme pour le tag, en un sens ct resolut

    je vais essayé ta nouvelle methode

    merci en tout cas pour votre aide a tous

  16. #16
    Membre averti
    Inscrit en
    Février 2005
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 19
    Par défaut
    verification effectuée, ca marche

    c'est nikel merci encore

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/04/2015, 13h22
  2. Parcours recursif de HashTable
    Par olibara dans le forum C#
    Réponses: 4
    Dernier message: 16/05/2010, 16h21
  3. [Lazarus] [Débutant] Utiliser les fichiers de Pascal comme base de données
    Par deuxgigas dans le forum Lazarus
    Réponses: 0
    Dernier message: 26/11/2009, 10h33
  4. Réponses: 9
    Dernier message: 25/08/2008, 12h58
  5. Probleme de parcours d'une hashtable
    Par lilli1407 dans le forum Langage
    Réponses: 11
    Dernier message: 16/10/2006, 13h51

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