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.