Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: DaniMir en 15 de Febrero 2016, 14:34

Título: Java por qué next() devuelve primer elemento en Iterator explicación iteradores
Publicado por: DaniMir en 15 de Febrero 2016, 14:34
Buenas, tengo una duda con respecto al método next(). Lo que yo entiendo es que este método permite referenciar el siguiente elemento de la lista, pero lo que no me queda claro es por qué inicialmente se utiliza.next() para referenciar el primer elemento. Mismamente en el ejemplo de este tema(nº67) al poner el next() a tmpAnalizando ¿ no debería saltarse el primer elemento de la lista?

Gracias, un saludo.
Título: Re:(Java)Duda en Iterator método next()
Publicado por: Lorenzo31 en 15 de Febrero 2016, 18:30
Hola muy buenas,

   bueno voy a intentar aclarar un poco esta duda, Iterator lo que hace es una copia de una coleccion de Objetos, en este caso de  ArrayList <String> listaDeNombres.

A partir de aquí, para leer cualquier objeto tipo String dentro de la copia Iterator<String> it,
debemos usar it.next() que nos devuelve el siguiente objeto (el primero en este caso).

Como no hay una función tipo return() o last() o algo que haga volver atrás, para poder manipular o imprimir ese elemento primero, el capitulo te explica que lo guarda en una variable temporal, tmpAnalizando = it.next(); .

 De esta manera con hasNext() comprueba si ciertamente hay próximo Objeto (o el anterior era el último) y si necesitas manipular un objeto, compararlo, mostrarlo, lo que sea, se debe usar una variable igualandola a Iterator.next().

Espero te lo haya aclarado un poco más. Saludos.