Most visited

Recently visited

Added in API level 1

Iterator

public interface Iterator

java.util.Iterator<E>
Known Indirect Subclasses


一个集合的迭代器。 Iterator取代Java集合框架中的Enumeration 迭代器与枚举有两种不同之处:

该界面是 Java Collections Framework的成员。

也可以看看:

Summary

Public methods

default void forEachRemaining(Consumer<? super E> action)

对每个剩余元素执行给定操作,直到处理完所有元素或操作抛出异常。

abstract boolean hasNext()

如果迭代包含更多元素,则返回 true

abstract E next()

返回迭代中的下一个元素。

default void remove()

从底层集合中移除此迭代器返回的最后一个元素(可选操作)。

Public methods

forEachRemaining

Added in API level 24
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

hasNext

Added in API level 1
boolean hasNext ()

如果迭代包含更多元素,则返回true (换句话说,如果next()将返回一个元素而不是引发异常,则返回true

Returns
boolean true if the iteration has more elements

next

Added in API level 1
E next ()

返回迭代中的下一个元素。

Returns
E the next element in the iteration
Throws
NoSuchElementException if the iteration has no more elements

remove

Added in API level 1
void remove ()

从底层集合中移除此迭代器返回的最后一个元素(可选操作)。 每次调用next()只能调用一次此方法。 如果除了通过调用此方法以外的任何其他方式进行迭代时修改了底层集合,则未指定迭代器的行为。

实现要求:
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

Hooray!