public interface ValueIterator
android.icu.util.ValueIterator |
用于对<int,Object>集合进行迭代的接口,其中int是按升序排序的整数索引,Object则为其关联值。
ValueIterator允许对Integer.MIN_VALUE到Integer.MAX_VALUE(含)范围内的整数索引进行迭代。 ValueIterator的实现应该在上述范围内指定自己的最大子范围,这对其应用程序有意义。
大多数实现将由工厂方法创建,例如UCharacter.getNameIterator中的字符名称迭代器。 见下面的例子。 使用示例:
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); }
Nested classes |
|
---|---|
class |
ValueIterator.Element
每次迭代的返回结果容器。 |
Public methods |
|
---|---|
abstract boolean |
next(ValueIterator.Element element) 返回此迭代的下一个结果,如果我们不在迭代结束时返回true,否则返回false。 |
abstract void |
reset() 如果先前调用了setRange(X,Y),则重置迭代器以开始从整数索引Integer.MIN_VALUE或X进行迭代。 |
abstract void |
setRange(int start, int limit) 限制要迭代的整数范围,并将迭代重置为从索引参数开始开始。 |
boolean next (ValueIterator.Element element)
返回此迭代的下一个结果,如果我们不在迭代结束时返回true,否则返回false。
如果这返回false,则元素的内容将不会更新。
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. |
也可以看看:
void reset ()
如果先前调用了setRange(X,Y),则重置迭代器以开始从整数索引Integer.MIN_VALUE或X进行迭代。
void setRange (int start, int limit)
限制要迭代的整数范围,并将迭代重置为从索引参数开始开始。
如果在调用next(element)之前未执行setRange(start,end),则迭代将从整数索引Integer.MIN_VALUE开始,并以Integer.MAX_VALUE结束。
如果此范围设置在实现指定的有意义范围之外,则next(element)将始终返回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 |