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 |