Насколько улучшен расширенный цикл?
Я перебираю элементы списка объектов 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);
Если случай (б) выше - что я думаю, - естьлюбой Преимущество использования итератора в списке. это простая итерация - нет пути назад и вперед. РЕДАКТИРОВАТЬ: ..и мой список операций только для чтения.
ТИА.