Ищу дальнейшее понимание Итераторов в java

Если я использую цикл for (стандартный цикл for, а не расширенный оператор for), я не вижу, как итератор увеличивает эффективность при поиске в коллекции. Если у меня есть такой оператор, как:

(Предполагая, что aList - это список общих объектов, тип E, nextElement относится к следующему элементу в списке)

for (int index = 0; index < aList.size(); index++){
E nextElement = aList.get(index);
// do something with nextElement...
}

и у меня есть метод get это выглядит примерно так:

Node<E> nodeRef = head;
for (int i = 0; i < index; i++){
    nodeRef = nodeRef.next;
    // possible other code
}

это, по сути, поиск в списке, по одному элементу за раз. Однако, если я использую итератор, не будет ли он выполнять ту же операцию? Я знаю, что итератор должен иметь скорость O (1), но разве это не будет O (n), если ему все равно придется искать по всему списку?

5
задан TMGunter 17 August 2011 в 05:20
поделиться