com.ibm.icu.util
Interface ValueIterator
public interface ValueIterator
Interface for enabling iteration over sets of
, where
int is the sorted integer index in ascending order and Object, its
associated value.
The ValueIterator allows iterations over integer indexes in the range
of Integer.MIN_VALUE to Integer.MAX_VALUE inclusive. Implementations of
ValueIterator should specify their own maximum subrange within the above
range that is meaningful to its applications.
Most implementations will be created by factory methods, such as the
character name iterator in UCharacter.getNameIterator. See example below.
Example of use:
ValueIterator iterator = UCharacter.getNameIterator();
ValueIterator.Element result = new ValueIterator.Element();
iterator.setRange(UCharacter.MIN_VALUE, UCharacter.MAX_VALUE);
while (iterator.next(result)) {
System.out.println("Codepoint \\u" +
Integer.toHexString(result.integer) +
" has the character name " + (String)result.value);
}
boolean | next(ValueIterator.Element element) - Gets the next result for this iteration and returns
true if we are not at the end of the iteration, false otherwise.
If the return boolean is a false, the contents of elements will not
be updated.
|
void | reset() - Resets the iterator to start iterating from the integer index
Integer.MIN_VALUE or X if a setRange(X, Y) has been called previously.
|
void | setRange(int start, int limit) - Restricts the range of integers to iterate and resets the iteration
to begin at the index argument start.
If setRange(start, end) is not performed before next(element) is
called, the iteration will start from the integer index
Integer.MIN_VALUE and end at Integer.MAX_VALUE.
If this range is set outside the meaningful range specified by the
implementation, next(element) will always return false.
|
next
public boolean next(ValueIterator.Element element)
Gets the next result for this iteration and returns
true if we are not at the end of the iteration, false otherwise.
If the return boolean is a false, the contents of elements will not
be updated.
element
- for storing the result index and value
- true if we are not at the end of the iteration, false otherwise.
reset
public void reset()
Resets the iterator to start iterating from the integer index
Integer.MIN_VALUE or X if a setRange(X, Y) has been called previously.
setRange
public void setRange(int start,
int limit)
Restricts the range of integers to iterate and resets the iteration
to begin at the index argument start.
If setRange(start, end) is not performed before next(element) is
called, the iteration will start from the integer index
Integer.MIN_VALUE and end at Integer.MAX_VALUE.
If this range is set outside the meaningful range specified by the
implementation, next(element) will always return false.
start
- first integer in the range to iteratelimit
- one more than the last integer in the range
Copyright (c) 2006 IBM Corporation and others.