Accueil
 Sommaire du cours
 1  Introduction à Java
 2  Concepts de bases de Java
 3  Classes et objets en Java
 4  Généralisation spécialisation en Java
 5  Organisation des sources Java
 6  API Java
 6.1  Premières classes de l'API
 6.2  Classe java.lang.Object
 6.3  Interface de programmation
 6.4  java.lang.*
 Questions
 6.5  java.util.*
 6.5.1  Classe paramétrée
 6.5.2  Classes Abstraites des collections
 6.5.3  Classes instanciables des collections
 6.5.4  Collections
 6.5.5  Interface Iterable
 6.5.6  Interface Collection
 6.5.7  Interface List
 6.5.8  Classe Vector
 6.5.9  for-each
 6.5.10  Exemple for-each sur un \texttt Vector
 6.5.11  Exemple de classe avec Vector
 6.5.12  Interface Iterator
 6.5.13  Exemple avec Iterator
 6.5.14  Dictionnaires Map
 6.5.15  Exemple pour Map
 6.5.16  Dictionnaire Hashtable
 6.5.17  Exemple pour Hashtable
 6.5.18  Représentation d'une Hashtable
 Questions
 7  Exceptions en Java
 8  Concepts objets avancés en Java
 Bibliographie

 Contacts

W3C validator

Département INF  
 Conception et programmation orientées objet


6.5.13 Exemple avec Iterator
 
import java.util.Vector; 
2import java.util.List; 
import java.util.Iterator; 
public class VectorIterator { 
    public static void main(String argv[]) { 
6        List<String> v = new Vector<String>(); 
        v.add("John"); v.add("Georges"); 
        Iterator<String> e = v.iterator(); 
        while(e.hasNext()){ 
10            System.out.println("" + e.next()); 
        } 
        // Parcours avec une boucle for 
        for(e = v.iterator();e.hasNext();){ 
14            System.out.println("" + e.next()); 
        } 
    } 
}

    précédent     suivant 


Cet exemple montre deux parcours de la collection v avec un itérateur une fois avec une boucle while et une fois avec une boucle for. Vous remarquerez que pour réaliser le parcours deux fois, il est nécessaire d’initialiser l’itérateur deux fois. La première initialisation est réalisée avant la boucle while à la ligne 8. La seconde initialisation est réalisée dans la partie initialisation de la boucle for à la ligne 13.

L’exécution de ce code donne le résultat suivant :

 
verbatim

Christian Bac, Denis Conan, Télécom SudParis, CSC 4002, Octobre 2015