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 :

HashMap : Boucle for / while


Sujet :

Collection et Stream Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Points : 199
    Points
    199
    Par défaut HashMap : Boucle for / while
    Voilà, j'ai 2 solutions pour boucler sur une HashMap :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //Soit la HashMap "monHM"
    	Iterator iter1 = monHM.entrySet().iterator();
    	while (iter1.hasNext()) {
    		Map.Entry ent = (Map.Entry) iter1.next();
    		//La clé de la HashMap
    		Object clé = ent.getKey();
    		//La Valeur de la HashMap
    		Object valeur = ent.getValue();
     
    		//Traitement
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //Soit la HashMap "monHM"
    	for ( Iterator iter = monHM.entrySet().iterator(); iter.hasNext(); ) {
    		Map.Entry ent = (Map.Entry) iter.next();
    		//La clé de la HashMap
    		Object clé = ent.getKey();
    		//La Valeur de la HashMap
    		Object valeur = ent.getValue();
     
    		//Traitement
    	}
    J'aurais voulu savoir laquelle est la plus adapté (niveau mémoire, temps de réponses, ...) (ou si éventuellement il n'y a aucune différence entre un while et un for ) et sinon, le cas échéant, s'il y a plus rapide ?
    Pensez au tag quand votre problème est réglé !

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Après vérification avec javap, ces deux codes génèrent exactement le même bytecode... ce qui est somme toute assez logique.

    Pourquoi te poses-tu cette question ?

    a++

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Points : 199
    Points
    199
    Par défaut
    C'était principalement pour savoir si un while irait plus vite qu'un for sur des Hashmap volumineuses. Puisque dans mes programmes, j'utilise tantôt l'un, tantôt l'autre, je voulais nettoyer (utiliser toujours le même fonctionnement). D'où la question.
    Et puis au cas où il y avait d'autres méthodes pour boucler sur les HashMaps.

    Merci de ta réponse !
    Pensez au tag quand votre problème est réglé !

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

Discussions similaires

  1. [Tableaux] boucle , for , while
    Par marty499 dans le forum Langage
    Réponses: 4
    Dernier message: 09/04/2008, 11h10
  2. boucle "for" dans "do while"
    Par oranoutan dans le forum C#
    Réponses: 13
    Dernier message: 05/06/2007, 21h13
  3. [Optimisation] Boucles for ou while et mysql_result ?
    Par sorenson dans le forum Langage
    Réponses: 5
    Dernier message: 22/12/2006, 09h55
  4. Structure while avec une boucle for en test
    Par le_voisin dans le forum C++
    Réponses: 9
    Dernier message: 09/09/2006, 19h16
  5. Réponses: 3
    Dernier message: 03/11/2005, 19h22

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