Iterator Pattern
Main
public static void main(String[] args) {
BikeRepository br = new BikeRepository();
br.addBike("Cross");
br.addBike("Mountain");
br.addBike("Bmx");
for (String bike : br) {
System.out.println(bike);
}
}
Iterator
public class BikeRepository implements Iterable<String> {
String[] bikes;
private int index;
public BikeRepository(){
bikes = new String[10];
index = 0;
}
@Override
public Iterator<String> iterator() {
Iterator<String> it = new Iterator<String>() {
private int currentIndex = 0;
@Override
public boolean hasNext() {
return currentIndex < bikes.length && bikes[currentIndex] != null;
}
@Override
public String next() {
return bikes[currentIndex++];
}
};
return it;
}
public void addBike(String bike) {
bikes[index] = bike;
index++;
}
}
Comentarios
Publicar un comentario