Iterator.next() / JAVA
Résolu
wolves'sbrother
Messages postés
223
Date d'inscription
Statut
Membre
Dernière intervention
-
hdhdhdh -
hdhdhdh -
Bonjour,
J'utilise un Itertaor et j'amerais savoir comment on fais pour vérifier que Itertaor.next() existe
J'utilise un Itertaor et j'amerais savoir comment on fais pour vérifier que Itertaor.next() existe
for ( Iterator i = lis.iterator();i.hasNext();)
{
String ar = desc.get("author" + id);
Element au = (Element)i.next();
}
12 réponses
-
-
iterator.hashnext() pass à l'élement suivant,comme si on fait i++ pour un integer, et le iterator.next() renvoi la valeur de l'element suivant,et moi j'aimeré faire un test du genre
if(Itertaor.next() != null)
, mais ça ne marche pas comme ça,donc est ce qu(il ya un autre moyen pour le faire.
Merci -
Bizarre ce que tu me dis... Moi dans mes codes java, je fais toujours:
if (qquechose.hasnext())
{
String var = qquechose.next();
}
Et au moment où il n'y aura plus d'élément suivant, qquechose.hasnext() renverra false, et donc le programme s'arrêtera la.... -
Je vais essayer ça tout de suite.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
je rappelle la structure de la boucle for:
for (variable avec valeur de départ; condition sur la variable (booléen) ; incrément)
Dans ton code on voit bien que ton i.hasNext() ne se trouve pas dans la partie d'incrément mais bien dans le booléen qui dit si on continue ou pas.
ex: for (int i = 0; i < 5; i++) -
wé,t'as raison,je vais devoir modifier ma boucle.
Iterator i = lis.iterator(); for ( i=0 ; i<6;i++) if (i.hasNext()){au = i.next();....} else {....}
ça devré marché.
Merci beacoup et bnne soirée -
-
Par contre, tantot j'ai écrit:
if (i.hasNext())
{...}
Je me suis trompé, il s'agissait plutôt de:
while (i.hasNext())
{...} -
OK.merci encore
-
Par contre désolé d'encore t'embêter mais ce que tu as écrit tantot n'est pas bon :s
Iterator i = lis.iterator();
for ( i=0 ; i<6;i++)
if (i.hasNext()){au = i.next();....}
else {....}
En rentrant dans ta boucle for, tu mets le i à 0. Si ça ne provoque pas d'erreur, ça entrainera quand même que ton code s'exécutera pas normalement. Je mettrais plutot:
Iterator i = lis.iterator();
while (i.hasNext())
{
au = i.next();
}
Et ainsi il parcourera toute ta liste. Mais par contre il écrasera à chaque fois la valeur de la variable au par le nouvel élément -
enfet je travaille avec JDOM.
List lis = book.getChildren("author"); Iterator iter = lis.iterator();
Et la liste "lis" peut contenir juska 5 Elements,et kand par exempe elle ne contient que 2 Element,j'aimeré pouvoir ajouter les 3 autres,c'est pou ça que je préfére utiliser un for à la place du while -
wé ta encore raison,ça marche pas totalement avec le for.merci beaûcoup