![]() |
VOOZH | about |
When we know that we have to iterate over a whole set or list, then we can use Generic For Loop. Java's Generic has a new loop called for-each loop. It is also called enhanced for loop. This for-each loop makes it easier to iterate over array or generic Collection classes.
In normal for loop, we write three statements :
for( statement1; statement 2; statement3 )
{
//code to be executed
}
Statement 1 is executed before the execution of code, Statement 2 states the condition to be satisfied to execute the code and Statement 3 gets executed after the execution of the code block.
But if we look into the Generic For loop or for-each loop,
The generic for loop consists of three parameters :
Syntax
for( ObjectType variable : iterable/array/collections ){
// code using name variable
}
Equivalent to
for( int i=0 ; i< list.size() ; i++) {
ObjectType variable = list.get(i);
// statements using variable
}
Example:
379
Example: Showing that
key :Quiz key :Github key :Practice key :GFG value :www.geeksforgeeks.org value :www.github.com value :practice.geeksforgeeks.org value :geeksforgeeks.org
1. Not appropriate when we want to modify the list.
for( Integer var : arr)
{
// only changes the var value and not the value of the data stored inside the arr
var = var + 100;
}
2. We cannot keep track of the index.
for( Integer var : arr){
if(var == target)
{
// don't know the index of var to be compared with variable target
return **;
}
}
4. Iterates a single step in forward direction only.
// This cannot be converted to Generic for loop
for( int i = n-1 ; i >= 0 ; i-- ) {
// code
}
4. Cannot process two decision-making statements at once.
// This loop cannot be converted to Generic for loop
for( int i = 0; i < arr.length; i++ ) {
if( arr[i]==num )
return **;
}