Я пытаюсь понять, как работает итератор в случае первого элемента.
Например, когда мы вызываем iterator.next () в первый раз, почему он возвращает индекс 0, а не 1?
есть похожая тема, которая несколько отвечает на вопрос, но сам код, похоже, не соответствует.
Как работает метод next () на итераторах?
этим кодом кажется, что фактически следующий метод возвращает текущий элемент и перемещает курсор к следующему.
@SuppressWarnings("unchecked")
public E next() {
checkForComodification();
int i = cursor;
if (i >= size)
throw new NoSuchElementException();
Object[] elementData = ArrayList.this.elementData;
if (i >= elementData.length)
throw new ConcurrentModificationException();
cursor = i + 1;
return (E) elementData[lastRet = i];
}
Каким образом тогда правильно думать об этом методе?
Должен ли я просто игнорировать документ Java, и думать о нем как о возвращении тока и перейти к следующему?