public interface Iterator
java.util.Iterator<E> |
Known Indirect Subclasses |
一个集合的迭代器。 Iterator
取代Java集合框架中的Enumeration
。 迭代器与枚举有两种不同之处:
该界面是 Java Collections Framework的成员。
也可以看看:
Public methods |
|
---|---|
default void |
forEachRemaining(Consumer<? super E> action) 对每个剩余元素执行给定操作,直到处理完所有元素或操作抛出异常。 |
abstract boolean |
hasNext() 如果迭代包含更多元素,则返回 |
abstract E |
next() 返回迭代中的下一个元素。 |
default void |
remove() 从底层集合中移除此迭代器返回的最后一个元素(可选操作)。 |
void forEachRemaining (Consumer<? super E> action)
对每个剩余元素执行给定操作,直到处理完所有元素或操作抛出异常。 如果指定了该顺序,则按迭代顺序执行操作。 该操作引发的异常会中继给调用者。
默认实现的行为如下:
while (hasNext())
action.accept(next());
Parameters | |
---|---|
action |
Consumer : The action to be performed for each element |
Throws | |
---|---|
NullPointerException |
if the specified action is null |
boolean hasNext ()
如果迭代包含更多元素,则返回true
。 (换句话说,如果next()
将返回一个元素而不是引发异常,则返回true
)
Returns | |
---|---|
boolean |
true if the iteration has more elements |
E next ()
返回迭代中的下一个元素。
Returns | |
---|---|
E |
the next element in the iteration |
Throws | |
---|---|
NoSuchElementException |
if the iteration has no more elements |
void remove ()
从底层集合中移除此迭代器返回的最后一个元素(可选操作)。 每次调用next()
只能调用一次此方法。 如果除了通过调用此方法以外的任何其他方式进行迭代时修改了底层集合,则未指定迭代器的行为。
UnsupportedOperationException
and performs no other action.Throws | |
---|---|
UnsupportedOperationException |
if the remove operation is not supported by this iterator |
IllegalStateException |
if the next method has not yet been called, or the remove method has already been called after the last call to the next method |