Understanding foreach loop in Java
To make iteration over arrays and other collections more convenient Java5 extended the basic for loop and it is named as for-each Loop and also called as enhanced for loop or foreach loop.
The for-each loop is used to access each successive value in a collection of values.
This foreach loop is commonly used to iterate over an array or a Collections class (eg, ArrayList).
For-Each loop Syntax is given below
//... Foreach loop over all elements in arr. for (type var : arr) { Body-of-loop }Actual working mechanism using indexes in Java4 and equivalent to for loop.
//... For loop using index. for (int i = 0; i < arr.length; i++) { type var = arr[i]; Body-of-loop }In Collections we can use variable as an Object to iterate all elements in the object. Here we can work more progressively with collections. No need to use Iterator.
//... Foreach loop over all elements in arr. for (type var : coll) { Body-of-loop }Using iterator we can iterate the elements with specified methods and equivalent to for loop.
//... Loop using explicit iterator. for (Iterator<type> iter = coll.iterator(); iter.hasNext(); ) { type var = iter.next(); Body-of-loop }Advantages of for-each Loop:
- Less error prone code
- Improved readability
- Less number of variables to clean up
- Cannot be used where the collection is to be altered while traversing/looping through
- My not be suitable while looping through multiple collections in parallel
- Example program on for-each loop.