Je veux quelque chose comme ceci: qui devrait être équivalent à: p> existe-t-il une méthode dans l'API à atteindre cela, ou est-ce le seul moyen? p> p>
5 Réponses :
Non, il n'y a rien de tel dans l'API standard. P>
en Java, ce n'est pas idiomatique (et donc plutôt rare) d'utiliser itérateur code> dans le cadre d'une API; Ils sont généralement produits et consommés immédiatement. P>
Je ne crois pas que les itérateurs soient assurés après un nombre fixe d'itérations, ce n'est donc probablement pas un moyen sûr d'insérer des données dans votre liste. Considérons une implémentation d'itérateur mannequin qui renvoie toujours la constante 42 code> à partir d'appels vers
suivant () code>. Votre application sera rapidement manquée de mémoire. P>
non, mais le Google Collections Library a une bonne façon de le faire (si vous allez utiliser une autre fonction d'autre - aucune raison d'ajouter cette dépendance juste pour que):
dans GUAVA (nouvelle bibliothèque Java à usage général de Google, qui remplace Google-Collections), cette pourrait être simplement: ou si la liste sera en lecture seule: p>
Ou, en effet, itérators.addall (comme suggéré par Carl) si vous souhaitez ajouter une collection existante.
Dans Java 8, vous pouvez le faire comme ceci: Voir aussi: Un moyen facile de changer ibler en collection p> p>
Je pense que vous voudriez soit «retourner du représentant» dans cette méthode, ou transmettez-le dans le fool comme un paramètre, car sinon cette méthode est en fait fondamentalement un NO-OP (sauf pour l'épuisement de l'itérateur) :)