I am supposed to implement an iterator that returns an iterator over the items in random order. This is what I have tried to do for now:
private class RandomQueueIterator<E> implements Iterator<E> {
int i = -1;
public boolean hasNext() {
return i+1 < size;
}
public E next() {
if (!hasNext()) {
throw new java.util.NoSuchElementException();
}
i++;
return (E) queue[i];
}
public void remove() {
throw new java.lang.UnsupportedOperationException();
}
}
public Iterator<Item> iterator() { // return an iterator over the items in random order
return new RandomQueueIterator();
}
I have an idea that I am supposed(?) to use StdRandon.uniform(); but have no idea where to write it exactly. I was therefore hoping one of you guys could help me!