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 :

[debutant] Hashmap


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut [debutant] Hashmap
    bonojur

    Aujourd hui je decide de m'exercer sur les HashMap.
    Je trouve cela assez puissant.
    Mais j aimerai savoir si on pouvait avoir l 'ensemble des clé d'une hashmap dans l'ordre croissant (car moi je les ai dans l'odre decroissant).
    Voila comment je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public static void main(String[] args) {
    	HashMap m1 = new HashMap();
    	m1.put("2", "");
    	m1.put("1", "");
     
    	Set lesCles = m1.keySet() ;
    	Iterator it = lesCles.iterator () ;
     
    	while (it.hasNext()) {
    		System.out.println(it.next() + "");
    	}
    }
    j obient le resultat :
    2
    1

    Or j aimerai qu'il maffiche l'inverse.
    J ai vu que l'on pouvait mettre l'ensemble des clés sous forme de tableau puis trier ce tableau avec la classe Collection.
    Mais je cherche une méthode plus "optimal" car celle que j ai trouvé ci dessus me paraît un peu bourrin.

    Merci.

  2. #2
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Les clef d'une HashMap ne sont pas triées. l'itérateur de ton Set pourrait les retourner dans n'importe quel ordre !! Il ne faut surtout pas se fier à l'ordre qu'on voit. Il pourrait très bien changer d'une execution à l'autre (en théorie)

    Si tu veux qu'elles soient triées, il faut utiliser SortedMap. Une classe qui l'implémente est la TreeMap.

    (le raisonnement est pareil pour les Set et SortedSet)

    Edit : Là ça va tu utilises des Strings en clef, mais si tu utilisais autre chose, il faudrait que ça puisse être comparé pour pouvoir le trier. Je te conseille de lire la doc de SortedMap et TreeMap. C'est en lisant ces trucs là que j'ai enfin compris a quoi servait la méthode hashCode(), et c'est très instructif ;)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 52
    Par défaut
    Merci beacoupe j vais lire la documentation sur Treemap.
    Merci aussi pour l'edit sur le hashcode. j en avais deja entendu parler quand j avais lu un article sur me md5 . Ca sert a donné un code unique pour chaque expression régulière (dans le cas de phrase) si je m en souvient bien.

    allez ++ pour de nouvelles questions !!!

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

Discussions similaires

  1. souci HashMap, possedes valeurs nulles./ debutant
    Par Mobistar dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 05/10/2007, 14h09
  2. [Debutant(e)] [hashmap] interface interne Map.Entry
    Par debdev dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 12/03/2005, 17h53
  3. [FLASH] pb debutant
    Par ultrakas dans le forum Flash
    Réponses: 2
    Dernier message: 05/06/2003, 00h48
  4. [debutant]Limiter le temps de saisi
    Par Nasky dans le forum C
    Réponses: 5
    Dernier message: 17/03/2003, 15h47
  5. Réponses: 3
    Dernier message: 09/02/2003, 01h09

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