У меня есть домашнее задание, и есть одна вещь, которую я не могу получить.Домашнее задание: метод Итератора, который использует частный класс итератора
У меня есть абстрактный класс, который содержит методы. Я должен создать подкласс, который наследует и расширяет эти методы. И в этом абстрактном классе есть один метод, который я не понимаю. Кто-нибудь знает, что делает этот кусок кода?
Все другие методы в этом классе делают разные вещи с массивами (например, добавляет или удаляет определенное целое число). Некоторые другие методы создают стек LiFo (push, pop, peek, надеюсь, вы знаете, что я имею в виду). Но у меня нет никаких проблем с другими методами это только эта один я не понимаю:
/*This is a method which I can use in my subclass and main method: */
public Iterator<Integer> iterator() {
return new IntIterator();
}
/*This is a private inner class used by iterator() */
class IntIterator implements Iterator<Integer> {
private int count = 0;
public Integer next() {return values[count++];}
public boolean hasNext() {return count<size;}
public void remove() {
throw new RuntimeException("remove() is not implemented");
}
}
«Размер» variale представляет собой фактический массив или размер стека, «ценность» представляет собой массив, который хранит все целые числа.
Заранее спасибо.
Вы не понимаете метод 'iterator()'? Как насчет этого вы не понимаете? –
Что вы не понимаете о коде, который вы опубликовали? Частный внутренний класс кажется относительно простым. Что насчет этого смущает? –
Приятно видеть вопрос «домашней работы», который вежлив и хорошо написан. – Ivan