2
« en: 20 de Julio 2018, 18:29 »
Buenas tardes. Mi consulta está sobre el ejemplo que hay en la lección CU00667B del curso gratuito de Java de aprenderaprogramar. A continuación inserto el código y luego expongo la inquietud.
import java.util.Iterator;
import java.util.ArrayList;
public class TestUsoIterator { //Ejemplo uso iterator aprenderaprogramar.com
public static void main (String [ ] Args) {
ArrayList <String> listaDeNombres = new ArrayList <String> ();
listaDeNombres.add("Juan Pérez Sánchez");
listaDeNombres.add("José Alberto Reverón Montes");
String cadenaBuscar = "Alberto";
System.out.println ("La cadena que buscamos es " + cadenaBuscar);
Iterator<String> it = listaDeNombres.iterator(); //Creamos el objeto it de tipo Iterator con String
String tmpAnalizando;
while ( it.hasNext() ) { //Utilizamos el método hasNext de los objetos tipo Iterator
tmpAnalizando = it.next(); //Utilizamos el método next de los objetos tipo Iterator
System.out.println ("Analizando elemento... " + tmpAnalizando);
if (tmpAnalizando.contains(cadenaBuscar) ) {
System.out.println ("Cadena encontrada!!!");
} else { } //else vacío. No hay acciones a ejecutar.
} //Cierre del while
} //Cierre del main
} //Cierre de la clase
Cuando compilamos esto, así tal cual, encuentra la cadenaBuscar en la segunda cadena del Array. Ahora, he probado cambiar cadenaBuscar por una que se encuentre en el primer elemento del Array y también la encuentra. Mi duda surge aquí sobre cómo funciona el next, es decir, si siempre está referenciando al siguiente objeto, cuál es la parte del código que hace que referencie al primero, o cómo hace el programa para analizar el primer elemento.
Desde ya muchas gracias.
Saludos