Introduction to Programming
Computer Programming I Instructor: Greg Shaw
COP 2210
The “Enhanced” for Statement
I. Intro
Suppose we have declared a generic ArrayList, list, to store objects of class WhatEver:
ArrayList list = new ArrayList() ;
and stored some WhatEver objects in list.
Now, if we want to do something with each object on the list, we could use a for statement:
for (int i = 0 ; i < list size() ; i++)
{
WhatEver current = list.get(i) ;
// do something here with current
. . .
}
The enhanced for statement lets us do exactly this with a bit less coding:
for ( Whatever current : list )
{
// do something here with current
. . .
}
II. Syntax
for ( class variable : collection-object-var )
← class is the class of object stored in the ArrayList – any standard or user-defined class
← variable is an object-variable that will point to each object in the ArrayList
← collection-object-var is a variable that points to an ArrayList.
← The ArrayList class is one example of a Java Collection. In Programming II, we will learn about other types of Collections. The enhanced for can be used to traverse any type of Collection (i.e., to “visit” each object in the Collection)
III. Limitations
It is important to remember that what is stored in variable is a pointer to the object and not the index (position) of the object.
So, the enhanced for cannot be used in place of the traditional for in situations where we need to access the indices of the objects.
Example: Suppose we are searching a list of Strings called myList to see if the String target is on the list. If so, we wish to know the index (i.e. position) where it occurs:
for ( int pos = 0 ; pos < myList.size() ; pos++ )
{
String current = myList.get(pos);
if (current.equals(target) )
return pos ; // position where found
}
return -1 ; // target not found
Since we need to know the index, we cannot use the enhanced for.
IV. AKA: The “for each” Statement
It is helpful to pronounce the enhanced for, e.g.
for ( Rectangle r : list )
as “for each rectangle r in list”
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- introduction to financial management pdf
- introduction to finance
- introduction to philosophy textbook
- introduction to philosophy pdf download
- introduction to philosophy ebook
- introduction to marketing student notes
- introduction to java programming pdf
- how to cite introduction to sociology 2e
- introduction to java programming and data structures
- introduction to java programming 10th
- introduction to java programming liang
- introduction to java programming ppt