00001
00002
00003
00004
00005
00006
00007 package edu.tum.cs.util.datastruct;
00008
00009 import java.util.Iterator;
00010 import java.util.NoSuchElementException;
00011
00012 public class RepeatIterator<T> implements Iterable<T> {
00013
00014 protected T item;
00015 protected int repetitions;
00016
00017 public RepeatIterator(T item, int repetitions) {
00018 this.item = item;
00019 this.repetitions = repetitions;
00020 }
00021
00022 public Iterator<T> iterator() {
00023 return new LocalIterator();
00024 }
00025
00026 protected class LocalIterator implements Iterator<T> {
00027
00028 protected int i;
00029
00030 public LocalIterator() {
00031 this.i = 0;
00032 }
00033
00034 public boolean hasNext() {
00035 return i < repetitions;
00036 }
00037
00038 public T next() {
00039 if(!hasNext())
00040 throw new NoSuchElementException();
00041 ++i;
00042 return item;
00043 }
00044
00045 public void remove() {
00046 throw new RuntimeException("remove not supported");
00047 }
00048
00049 }
00050 }