for (Iterator<String> i = someIterable.iterator(); i.hasNext();) { String item = i.next(); System.out.println(item);}
Note that if you need to use i.remove();
in your loop, or access the actual iterator in some way, you cannot use the for ( : )
idiom, since the actual iterator is merely inferred.
As was noted by Denis Bueno, this code works for any object that implements the Iterable
interface.
If the right-hand side of the for (:)
idiom is an array rather than an Iterable
object, the internal code uses an int index counter and checks against array.length
instead. See the Java Language Specification.
for (int i = 0; i < someArray.length; i++) { String item = someArray[i]; System.out.println(item);}