Iterator en Java
Un Iterator o Iterador es un patrón de diseño que nos ofrece una interfaz estándar para recorrer una estructura de datos sin que nos tengamos que preocupar por la representación interna de los datos de dicha estructura.
Esta forma de recorrer estructuras de datos ofrece muchas ventajas entre las que podemos destacar que nuestro código no depende de la estructura de datos.
Por lo tanto la “estructura” puede ser un árbol binario o una lista doblemente enlazada ya que el iterador nos abstrae del modo de realizar el recorrido. De este modo podemos sustituir de manera sencilla estructuras de datos en nuestro código sin que se nos presenten problemas desagradables.
Este patrón lo podemos sustituir por un bucle for, que haría básicamente lo mismo, pero la velocidad en la búsqueda es superior en el patrón iterator con respecto al bucle for.
En Java tenemos reflejado el patrón Iterator en la clase java.util.Iterator que es ampliamente utilizada en las conocidas Collections.
Por ejemplo, recorrer un array de empleados:
ArrayList<String> empleados = new ArrayList<String>(); //rellenar el array Iterator it = empleados.iterator(); while (it.hasNext()) { //Código a realizar en cada posición System.out.println(it.next()); // Imprime el contenido del array a la vez que avanza }
Para la misma estructura el bucle for sería
for (int i = 0; i < empleados.size(); i++) { // Código a realizar para cada miembro del arraylist } //hacer otras cosas
No hay comentarios:
Publicar un comentario
Gracias por comentar en mi blog. Saludos.