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