# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

# ValueIterator

`public interface ValueIterator`
``

android.icu.util.ValueIterator

Interface for enabling iteration over sets of <int, Object>, 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);
     }

## Summary

### Nested classes
`class` | `ValueIterator.Element` The return result container of each iteration.

### Public methods
`abstract boolean` | `next(ValueIterator.Element element)` Returns the next result for this iteration and returns true if we are not at the end of the iteration, false otherwise.
`abstract 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.
`abstract void` | `setRange(int start, int limit)` Restricts the range of integers to iterate and resets the iteration to begin at the index argument start.

## Public methods

### next

    public abstract boolean next (ValueIterator.Element element)

Returns the next result for this iteration and returns true if we are not at the end of the iteration, false otherwise.

If this returns a false, the contents of elements will not be updated.

Parameters
`element` | `ValueIterator.Element`: for storing the result index and value

Returns
`boolean` | true if we are not at the end of the iteration, false otherwise.

See also:

- `ValueIterator.Element`

### reset

    public abstract 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 abstract 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.

Parameters
`start` | `int`: first integer in the range to iterate
`limit` | `int`: one more than the last integer in the range

Throws
`IllegalArgumentException` | thrown when attempting to set an illegal range. E.g limit <= start

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*