У меня есть массив, который хочет, чтобы итератор указывал на начало набора. Не знаю, как это реализовать, ниже - то, что у меня есть.Использование итератора на ArraySet
public ArraySet() {
// INSERT YOUR CODE HERE
collection = new Object[INITIAL_CAPACITY];
capacity = 0;
}
/**
* Returns an iterator for this set of objects.
* @pre true
* @post Set is not changed
* @return An iterator for the set of objects that points to the beginning
* of the set.
*/
public SetIterator iterator() {
ArraySet testArraySet = new ArraySet();
SetIterator arraySetIterator = testArraySet.iterator();
while (arraySetIterator.hasNext())
{
Object element = arraySetIterator.next();
return element;
}
return null;
}
Это не так, как работает «итератор» (вы использовали 'next' в методе' iterator() '). Кроме того, это пустой 'Set', который вы выполняете. Наконец, вы можете просто «вернуть testArraySet.iterator();» (но, как я уже упоминал, он пуст). –
Вы вызываете 'ArraySet.iterator()' из 'ArraySet.iterator()'. Это не полезно. Вам нужно создать новый класс, который фактически реализует интерфейс 'SetIterator', хотя он может быть внутренним классом' ArraySet'. –
Итак, у меня будет собственный класс Set Iterator. – TOD