Я должен реализовать итератор для:
public class BinaryHeap<AnyType extends Comparable<? super AnyType>> extends AbstractQueue<AnyType>
Класс, и это его атрибуты:
private static final int DEFAULT_CAPACITY = 100;
private int currentSize;
private AnyType [ ] array;
private boolean min;
private int modifications; //AKA "modcount"
Два метода, которые мне пришлось реализовать (переопределить?): hasNext()
next()
; Кроме того, мой итератор должен быть fail-fast . Это моя попытка:
private class HeapIterator implements Iterator
{
int expectedModCount = modifications;
int currentPosition;
public boolean hasNext()
{
return currentPosition < array.length;
}
public Object next() throws NoSuchElementException,
ConcurrentModificationException,
UnsupportedOperationException
{
if (modifications != expectedModCount)
throw new ConcurrentModificationException();
return array[currentPosition++];
}
public void remove()
{
throw new UnsupportedOperationException();
}
}
Но я показал это однокласснику, и они сказали, что мои next()
и hasNext()
функции не годятся, но не было времени объяснить, почему. Любая помощь?