Насколько улучшен расширенный цикл?

Я перебираю элементы списка объектов String один за другим:

LinkedList list;

// add values to the list here


for (int i = 0; i < list.size(); i++)  
    System.out.println(list.get(i));

Здесь, каждый раз, когда я вызываю get () в списке, список повторяется от одного из его концов до i-го элемента - поэтому сложность вышеуказанного цикла составляет O (n ^ 2).

Является ли a.) Таким же, как указано выше для расширенного цикла for, или b.) Является ли цикл for поддерживающим указатель там, где он был в последний раз, и, следовательно, сложность цикла ниже составляет O (n)?

for (String s:list)   
    System.out.println(s);

Если случай (б) выше - что я думаю, - естьлюбой Преимущество использования итератора в списке. это простая итерация - нет пути назад и вперед. РЕДАКТИРОВАТЬ: ..и мой список операций только для чтения.

ТИА.

Ответы на вопрос(4)

Ваш ответ на вопрос