 <p>The "enhanced for loop" as you call it (it's actually called the <code>foreach</code> loop) internally uses an iterator for any iterable - including linked lists.</p> <p>In other words it is O(n)</p> <p>It does handle looping over arrays by using an integer and iterating over it that way but that's fine as it performs well in an array.</p> <p>The only advantages of using an iterator manually are if you need to remove some or all of the elements as you iterate.</p>