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 :

Iterator et Map.Entry


Sujet :

Collection et Stream Java

  1. #1
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut Iterator et Map.Entry
    Comment puis-je faire pour me passer du boolean isFind dans l'instruction While

    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
     
     
    public Map myMap = new HashMap();
     
            myMap.put(1, "RIRI");
            myMap.put(2, "FIFI");
    	myMap.put(3, "LOULOU");
     
    boolean isFind;
     
     
     
    public void  find(String name) {
    isFind = false;
     
            Iterator iter = myMap.entrySet().iterator();
     
            while (iter.hasNext() && isFind == false) {
     
                Map.Entry mEntry = (Map.Entry) iter.next();
     
              	if (name.equals(mEntry.getKey().toString())) {
                 	isFind = true;   
    		System.out.print((String) mEntry.getValue());
                }
            }
     
        }
    Merci de votre aide
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  2. #2
    Membre actif

    Inscrit en
    Octobre 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 133
    Points : 295
    Points
    295
    Par défaut
    Il te suffit de faire return lorsque tu as trouve ton élément :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (name.equals(mEntry.getKey().toString())) {
    		System.out.print((String) mEntry.getValue());
    		return;
    Au moment d'arriver a return, ta methode s'arrete donc directement sans continuer dans le while

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    Ou bien vous pouvez faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public boolean  find(String name) {
            Iterator iter = myMap.entrySet().iterator();
            Map.Entry mEntry = (Map.Entry) iter.next();
            while (iter.hasNext() && !name.equals(mEntry.getKey().toString())) {
                    mEntry = (Map.Entry) iter.next();
            }
            if (iter.hasNext()) {
    		System.out.print((String) mEntry.getValue());
    		return true;
    	}
    	return false;
        }

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

Discussions similaires

  1. boucle Map.Entry .next
    Par totoche dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 13/01/2010, 17h39
  2. implémentation de l'interface Map.Entry
    Par caro_caro dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 18/05/2008, 23h31
  3. Map::iterator et template
    Par kast_or dans le forum Langage
    Réponses: 3
    Dernier message: 28/11/2006, 19h15
  4. initialisation d'une map et d'un iterator
    Par petitmic dans le forum C++
    Réponses: 2
    Dernier message: 12/04/2006, 23h22
  5. [Debutant(e)] [hashmap] interface interne Map.Entry
    Par debdev dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 12/03/2005, 17h53

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