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

Struts 2 Java Discussion :

Nombre de tour d'un iterator


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Par défaut Nombre de tour d'un iterator
    Comment savoir le nombre de boucles qu'a fait un iterator ?

    Je voudrai récupérer cette valeur pour l'afficher dans ma page.

    merci

  2. #2
    Membre émérite
    Avatar de divxdede
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 525
    Par défaut
    Citation Envoyé par piotrr Voir le message
    Comment savoir le nombre de boucles qu'a fait un iterator ?

    Je voudrai récupérer cette valeur pour l'afficher dans ma page.

    merci
    tu dois compter toi même...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int count = 0;
    while( i.hasNext() ) {
          i.next(); count++
          // do job
    }

    Sinon, tu peut écrire un "wrapper" qui enrobe un Iterator ce qui peut être plus élégant

    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
    29
    30
    31
       public class CounterIterator<E> implements Iterator<E> {
     
               private Iterator<E> wrapped = null;
               private int count = 0;
     
               public CounterIterator(Iterator<E> wrapped) {
                        this.wrapped = wrapped;
               }
     
               public boolean hasNext() {
                      if( wrapped == null ) return false;
                      return wrapped.hasNext();
               }
     
               public E next() {
                     if( !hasNext() ) throw new NoSuchElementException();
                     E result = this.wrapped.next();
                     count++;
                     return result;
               }
     
               public void remove() {
                     if( wrapped == null ) throw new IllegalStateException();
                     this.wrapped.remove();
                     count--; // depends on what you want mean....
               }
     
               public int getTraversedEntriesCount() {
                       return count;
               }
       }
    And a usage like it

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     CounterIterator ci = new CounterIterator(i);
    while( ci.hasNext() ) {
          ci.next(); 
          // do job
    }
    ci.getTraversedEntriesCount(); // récupere le nombre d'element parcourus

  3. #3
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 94
    Par défaut
    Sinon tu y a accès via la propriété "status"

    <s:iterator value="pageLines" status="row">
    ${row.count}: <s:property/>
    </s:iterator>

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Par défaut
    Ok c'est ca que je voulais mais j'y suis arrivé atrement (en récup érant simplement la taille de la liste que je parcours avec cet iterator)

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

Discussions similaires

  1. [PHP 5.2] Compter le nombre de tours dans une boucle
    Par Invité dans le forum Langage
    Réponses: 7
    Dernier message: 14/09/2011, 11h45
  2. Disk - Nombre de tours par seconde optimal p
    Par sanomory dans le forum Oracle
    Réponses: 1
    Dernier message: 11/03/2008, 14h25
  3. Réponses: 4
    Dernier message: 24/06/2007, 17h25
  4. Nombre d'iteration est grand
    Par esperance dans le forum Langage
    Réponses: 2
    Dernier message: 18/01/2007, 14h00
  5. Nombre d'itérations
    Par harris_macken dans le forum MATLAB
    Réponses: 2
    Dernier message: 28/05/2006, 22h31

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