5.3. Iterating Over an ArrayList
Problem
You need to iterate
over a portion of an ArrayList
. For example, you
have an ArrayList
with 30 elements, and you need
to iterate from index 0 to index 20.
Solution
Use an
ArrayListIterator
to iterate through a specified region of an
ArrayList
. This implementation of
Iterator
is constructed with a reference to an
ArrayList
and two optional parameters that specify
the start and end of an iteration. This example demonstrates the use
of ArrayListIterator
to iterate over the 3rd, 4th,
and 5th elements of an ArrayList
:
String[] strings = new String[] { "A", "B", "C", "D", "E", "F" }; List list = new ArrayList( Arrays.asList( strings ) ); Iterator iterator = new ArrayListIterator( list, 3, 6 ); while( iterator.hasNext( ) ) { int index = iterator.nextIndex( ); String element = (String) iterator.next( ); System.out.println( "Element at " + index + ": " + element ); }
ArrayListIterator
also allows you to obtain the
index of an element during an iteration. In the previous example,
iterator.nextIndex()
returns the index of the element returned
by the subsequent call to
iterator.next( )
. The
code above iterates through three elements of the
ArrayList
, producing the following output:
Element at 3: D Element at 4: E Element at 5: F
Discussion
You can construct an ArrayListIterator
with up to
three arguments. The first argument is the
ArrayList
to be iterated over. The second optional argument specifies the inclusive start index, and the third optional ...
Get Jakarta Commons Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.