filtrer une collection - Java - Programmation
Marsh Posté le 13-12-2009 à 22:53:15
it.next() te renvoie l'Object suivant de ton Iterator (qui n'a donc jamais été renvoyé). et it.remove() enlève le dernier Object renvoyé par it.next() (tu dois donc toujours appeler next() avant d'éventuellement appeler remove()).
Marsh Posté le 14-12-2009 à 21:58:53
C'est pourtant écrit dans la documentation de Iterator...
Marsh Posté le 15-12-2009 à 00:09:53
Harkonnen et cbeyls
merci de vos réponses,
ce code est dans les cours tel que j'ai copié et j'ai du mal avec !
est-ce que je peux le raisonner comme ça :
Code :
|
si cette interprétation est correcte je suis sauvée sinon le tablier va pas tarder à se rendre !!!
Marsh Posté le 15-12-2009 à 09:21:54
Pourquoi tu passes au suivant si ta condition n'est pas vraie ? Si elle n'est pas vraie, alors tu supprimes l'élément précédemment lu et voila !
Le code que tu as posté au début est parfaitement correct, et parfaitement compréhensible. Regarde donc la doc de Iterator, elle est des plus limpides : http://java.sun.com/j2se/1.4.2/doc [...] rator.html
Marsh Posté le 15-12-2009 à 14:40:39
merci de ta réponse,
la syntaxe que j'ai copié c'est dans les cours classique pour filtrer une collection, je l'interprétais mal et c'est pourquoi je ne comprenais pas : ça arrive souvent quand on est débutant
je n'avais pas compris que le curseur va d'abord sur l'élément et le teste se fait par la suite ....
et finalement je garde le tablier car j'ai fini par comprendre le truc !!
Marsh Posté le 13-12-2009 à 22:42:43
Pour filtrer une collection je trouve ce code partout :
mais je ne comprends pas pourquoi on retire (remove) un élément quand son suivant (next) ne remplit pas une condition...
si cet élément suivant (next) ne remplit pas la condition pourquoi on ne retire pas celui-là ?...
merci pour toute réponse