Skip to content

CharlyCimino/iterable-iterator-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Iterable e Iterator en Java

Descripción

Ejemplo de funcionamiento de las interfaces Iterable e Iterator en Java.

Sobre una colección propia llamada Sorteador se implementa la interfaz Iterable que obliga a sobreescribir el método iterator(), el cual debe retornar un objeto Iterator.

Como Iterator es una interfaz, se crea una clase interna en la clase Sorteador llamada IteratorSorteador que implementa Iterator. Esta interfaz obliga a sobreescribir los métodos next() y hasNext(), cuyas firmas pueden observarse en el diagrama de clases o el código del proyecto.

Una colección iterable permite poder iterarla sin conocer sus detalles de implementación.

Suponiendo tener un sorteador de cadenas:

Sorteador<String> miSorteador = new Sorteador<String>();

Podría iterarse sabiendo cómo funcionan los sorteadores:

while (!miSorteador.isEmpty()) {
    System.out.println(miSorteador.remove());
}

Sin embargo, hay dos maneras de iterarlo sin conocer sus detalles de implementación ni el nombre de sus métodos:

Obteniendo un iterador

Iterator<String> it = miSorteador.iterator(); // Pido un iterador al sorteador
while (it.hasNext()) { // Mientras haya siguiente
    String elemento = it.next(); // Guardar siguiente en 'elemento'
    System.out.println(elemento); // Mostrar 'elemento'
}

Utilizando la estructura foreach

for (String elemento : miSorteador) { // Para cada 'elemento' de tipo 'String' en la colección 'miSorteador'
    System.out.println(elemento); // Mostrar 'elemento'
}

Diagrama de clases

Diagrama de clases

Proyecto realizado con NetBeans 8.2. Compatible con Eclipse.

About

Ejemplo de funcionamiento de las interfaces 'Iterable' e 'Iterator' en Java.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages