Итераторы под капотом - next & hasNext - увеличивается ли индекс до или после получения следующего элемента? - PullRequest
0 голосов
/ 05 ноября 2019

Как итераторы реализованы под капотом в JAVA / C ++ / Python ... а как лучше всего поддерживать индекс?

Предположим, список = [1,2,3,4]. index = от 0 до 3.

Должно ли начальное значение индекса i быть -1 или 0? Какой должна быть последовательность действий:
1.

i = -1
next():
    i++
    if i == length(list):
        return NONE
    else:    # i < length(list)
        return list[i]

ИЛИ
2.

i = 0
next():
    if i == length(list):
        return NONE
    else:    # i < length(list)
        val = list[i]
        i++
        return val

?

Аналогично для hasNext:

if i == length(list):
    return False

ИЛИ

if i+1 == length(list):
    return False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...