Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does the Java 'for each' loop work?

Consider:

List<String> someList = new ArrayList<String>(); // add "monkey", "donkey", "skeleton key" to someList 
for (String item : someList) {     System.out.println(item); } 

What would the equivalent for loop look like without using the for each syntax?

like image 482
Jay R. Avatar asked Sep 17 '08 16:09

Jay R.


People also ask

What is the for-each loop in Java?

In Java, the for-each loop is used to iterate through elements of arrays and collections (like ArrayList). It is also known as the enhanced for loop.

What are the 3 types of loops in Java?

In Java, there are three kinds of loops which are – the for loop, the while loop, and the do-while loop.


1 Answers

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.

Also, 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.

like image 108
nsayer Avatar answered Sep 21 '22 06:09

nsayer