bucles "for" con iterador (for each)

Alternativamente, podemos ir iterando sobre los elementos de un conjunto de valores sin variable contador. Esto se puede hacer

·         sobre arrays

·         sobre clases que implementen la “interface Iterable<T>”:
por ejemplo, listas y conjuntos

 

Ejemplos de bucles “for” con iterador

Clase[] array = ...;

 

for (Clase x: array)

    procesa(x);

List<Clase> lista = ...;

 

for (Clase x: lista)

    procesa(x);

Set<Clase> conjunto = ...;

 

for (Clase x: conjunto)

    procesa(x);

Collection <Clase> coleccion = ...;

 

for (Clase x: coleccion)

    procesa(x);

enum Color { ROJO, NARANJA, AMARILLO, VERDE, AZUL, AÑIL, VIOLETA };

 

for (Color color: Color.values()) {

    procesa(color);

}

 

for (Color color: EnumSet.range(Color.NARANJA, Color.AZUL)) {

    procesa(color);

}         

 

Si tenemos una clase que proporciona un iterador:

class Almacen implements Iterable<Dato> {

public Iterator<Dato> iterator() { … }

}

entonces podemos recorrer directamente

Almacen almacen;

for (Dato dato: almacen) { … }

Ver “Iterable”.

Temas relacionados

80. for (palabra reservada)