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

Langage Java Discussion :

Parcours d'un vector


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Parcours d'un vector
    Bonsoir à tous,

    Après une recherche dans plusieurs tutoriels, je n'ai pas réussi à trouver de réponse à cette question :
    J'ai noté un jour que le parcours d'un Vector v de type Vector<E> pouvait se faire comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    E elt;
    for(elt:v) {
        .... elt;
    }
    Ceci étant équivalent à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int i;
    for(i=0;i<v.size();i++) {
        .... v.get(i);
    }
    Est-ce vrai ?
    Mon problème si c'est vrai, c'est que mon IDE (Eclipse) m'empêche de compiler et je ne comprends pas pourquoi :
    il y a une erreur à la ligne du for(...) :
    "Multiple markers at this line
    - Syntax error on token "elt", Identifier expected after this token
    - Type mismatch: cannot convert from element type E to elt
    - elt cannot be resolved to a type"

    D'où peut venir le problème ?
    Merci.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par kéraunos Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    E elt;
    for(elt:v) {
        .... elt;
    }
    Non. C'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(E elt:v) {
        .... elt;
    }
    Et ça existe seulement depuis Java 1.5.

    Est-ce vrai ?
    Après ma correction, oui.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Invité
    Invité(e)
    Par défaut
    Arf... :s
    Merci beaucoup, ça fonctionne !

  4. #4
    Membre émérite
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Par défaut
    Petite correction cependant.

    n'est pas équivalent à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int i = 0; i < v.size(); i++){ E elt = v.get(i); ...}
    mais à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (Iterator<E> it = v.iterator(); it.hasNext();){ E elt = it.next(); ...}
    aussi possible avec un while:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Iterator<E> it = v.iterator();
    while(it.hasNext())
    { E elt = it.next(); ...}
    La différence principale se situe sur la gestion des ajouts/suppressions d'éléments pendant le parcours (dans la boucle ou en parallèle).

Discussions similaires

  1. Parcours d'un vector
    Par CliffeCSTL dans le forum Débuter
    Réponses: 11
    Dernier message: 11/10/2012, 10h44
  2. Perf de parcours vector : iterator vs index
    Par codnob dans le forum SL & STL
    Réponses: 20
    Dernier message: 28/01/2010, 14h23
  3. Parcours en largeur d'une arborescence->Vector
    Par Paniez dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 07/12/2006, 22h21
  4. Probleme avec parcours de stl::vector
    Par MDiabolo dans le forum SL & STL
    Réponses: 10
    Dernier message: 08/03/2006, 00h35
  5. [Débutant(e)] Parcours d'un hashtable comme un vector
    Par Arkan dans le forum Collection et Stream
    Réponses: 15
    Dernier message: 12/04/2005, 17h55

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