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 :

[Collections] ordre des clés d'une Hashtable


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de matzeus
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Par défaut [Collections] ordre des clés d'une Hashtable
    bonjour,
    J'aimerai que qqun m'eclaire sur la maniere dont une hashtable stock ses donnees.
    Voila ce qu'il ce passe:
    je declare une hashtable H
    je lui fais H.put((String)S,nomObjet)
    et S a comme valeurs successives:
    r0
    r1
    r2
    r3
    r4
    r1-1
    r1-2
    r1-3
    r1-7
    r2-3
    r1-7-3
    r2-3-2

    cependant lorsque que j'appelle un iterator sur cette hashtable afin de recup mes objets,ca lit dans l'ordre suivant ( alors que je lui ai rien demande...lol):
    r1-7-3
    r1-3
    r4
    r1-2
    r2-3-2
    r1-1
    r3
    r2
    r1
    r2-3
    r1-7
    r1-4

    est ce que qqun sait si c'est l'ordre de stockage qui est modifie, si c'est l'iterator qui fait tout ca au hasard ou bien si tout ca est régie par une regle qu'apparemment je ne connais pas !
    merci d'avance
    Mat l'intrigué

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Il me semble bien qu'une hash table ne garanti l'ordre de ces élément. Je viens de vérifier la javadoc, ce n'est pas précisé ( contrairement a HashSet ). Toutefois ce comportement me semble logique pour l'utilisation normale d'une hashtable.

  3. #3
    Membre éclairé Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Par défaut
    Je pense qu'avec une HashTable tu recupère tes objects avec la methode get("key").
    Si tu veux qu'il te les rendent dans un ordre precis il faut un autre objet de list.

  4. #4
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Si tu veux conserver l'ordre, il serait peut-être plus judicieux d'utiliser une "LinkedHashMap".

  5. #5
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Un TreeMap plutôt

  6. #6
    Membre averti Avatar de matzeus
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Par défaut
    merci pour toutes vos reponses,
    je vais essayer tout ca...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Toutefois ce comportement me semble logique pour l'utilisation normale d'une hashtable.
    dis moi iohack ce qui te fait penser que l'ordre a la recuperation des donnees est normal?

  7. #7
    Membre éprouvé Avatar de BlackWood
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Par défaut
    Citation Envoyé par matzeus
    dis moi iohack ce qui te fait penser que l'ordre a la recuperation des donnees est normal?
    Je ne pense pas qu'il ait voulu dire que l'ordre était normal, mais que le désordre était normal... Comme une HashTable n'est pas triée, elle rentre ses données "à l'arrache", sans se préoccuper de lui donner un index.

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

Discussions similaires

  1. [C#] Inverser l'ordre des éléments d'une Hashtable
    Par lancer83 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 31/08/2006, 20h03
  2. [Collections] Trier le contenu d'une Hashtable
    Par shaun_the_sheep dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 12/12/2005, 08h25
  3. Ordre des Colonnes d'une requête
    Par dlh1222 dans le forum Access
    Réponses: 4
    Dernier message: 14/09/2005, 23h43
  4. [Portal 9iAS] : ordre des items dans une région
    Par melitta dans le forum Oracle
    Réponses: 8
    Dernier message: 21/10/2004, 14h01
  5. Ordre des champs dans une table
    Par patapetz dans le forum Outils
    Réponses: 5
    Dernier message: 30/07/2003, 06h53

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