티스토리 뷰
Series
Iterator [Java] class DaysOfTheWeek implements Iterable - class DaysIterator implements Iterator
More Code 2018. 6. 16. 04:43// Java : Iterator
package iteration;
import java.util.Iterator;
public class Program {
public static void main(String[] args) {
DaysOfTheWeek weekDays = new DaysOfTheWeek();
for (Object day : weekDays) {
System.out.println(day);
}
System.out.println("---- End of 1st iteration ----");
Iterator it = weekDays.iterator();
while (it.hasNext()) {
Object day = it.next();
System.out.println(day);
}
System.out.println("---- End of 2nd iteration ----");
it = weekDays.iterator();
while (it.hasNext()) {
Object day = it.next();
System.out.println(day);
}
System.out.println("---- End of 3rd iteration ----");
}
}
class DaysOfTheWeek implements Iterable {
public Iterator iterator() {
return new DaysIterator();
}
}
class DaysIterator implements Iterator {
private String[] days = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
int index;
public DaysIterator() {
index = -1;
}
public boolean hasNext() {
return index + 1 < days.length;
}
public String next() {
index++;
return days[index];
}
public void remove() {
throw new UnsupportedOperationException();
}
}