- 
- 型パラメータ:
 E- このイテレータで返される要素の型
- 既知のすべてのサブインタフェース:
 EventIterator,ListIterator<E>,PrimitiveIterator<T,T_CONS>,PrimitiveIterator.OfDouble,PrimitiveIterator.OfInt,PrimitiveIterator.OfLong,XMLEventReader
- 既知のすべての実装クラス:
 BeanContextSupport.BCSIterator,EventReaderDelegate,Scanner
public interface Iterator<E>コレクションのイテレータです。Iteratorは、Java Collections FrameworkにおいてEnumerationの代わりとなります。 イテレータは、次の2つの点で列挙と異なります。- イテレータを使用すると、明確なセマンティックスに基づく反復処理の間に、呼出し側は基本となるコレクションから要素を削除できる。
 - メソッド名が改良されている。
 
このインタフェースは、Java Collections Frameworkのメンバーです。
- APIの注:
 Enumerationは、Enumeration.asIterator()メソッドを使用してIteratorに変換できます。- 導入されたバージョン:
 - 1.2
 - 関連項目:
 Collection,ListIterator,Iterable
 
- 
- 
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 修飾子と型 メソッド 説明 default voidforEachRemaining(Consumer<? super E> action)すべての要素の処理が完了するかアクションから例外がスローされるまで、残りの各要素に対して指定されたアクションを実行します。booleanhasNext()反復処理でさらに要素がある場合にtrueを返します。Enext()反復処理で次の要素を返します。default voidremove()ベースとなるコレクションから、このイテレータによって最後に返された要素を削除します(オプションの操作)。 
 - 
 
- 
- 
メソッドの詳細
- 
hasNext
boolean hasNext()
反復処理でさらに要素がある場合にtrueを返します。 つまり、next()が例外をスローするのではなく要素を返す場合は、trueを返します。- 戻り値:
 - 反復処理でさらに要素がある場合は
true 
 
- 
next
E next()
反復処理で次の要素を返します。- 戻り値:
 - 反復処理での次の要素
 - 例外:
 NoSuchElementException- 反復処理で要素がない場合
 
- 
remove
default void remove()
ベースとなるコレクションから、このイテレータによって最後に返された要素を削除します(オプションの操作)。 このメソッドは、next()の呼び出しごとに1回だけ呼び出すことができます。オーバーライドするクラスが並行変更ポリシーを指定している場合を除いて、このメソッドを呼び出す以外の方法で反復処理が進行している間、基本となるコレクションが変更された場合は、反復子の動作は不定です。
このメソッドが
forEachRemainingメソッドの呼び出しの後に呼び出された場合、反復子の動作は不特定です。- 実装要件:
 - デフォルト実装は、
UnsupportedOperationExceptionのインスタンスをスローし、他のアクションを実行しません。 - 例外:
 UnsupportedOperationException-removeオペレーションがこのイテレータでサポートされない場合IllegalStateException-nextメソッドがまだ呼び出されてない場合、またはnextメソッドの最後の呼出しのあとにremoveメソッドがすでに呼び出されている場合
 
- 
forEachRemaining
default void forEachRemaining(Consumer<? super E> action)
すべての要素の処理が完了するかアクションから例外がスローされるまで、残りの各要素に対して指定されたアクションを実行します。 反復の順序でアクションが実行されます(その順序が指定されている場合)。 アクションによってスローされた例外は、呼出し側に中継されます。オーバーライドするクラスが並行変更ポリシーを指定していない限り、アクションによって(
removeメソッドまたはIteratorサブ型の他のメソッドを呼び出すことによっても)が何らかの方法でコレクションを変更した場合、イテレータの動作は指定されません。反復子の後続の動作は、アクションが例外をスローした場合には未定義です。
- 実装要件:
 デフォルト実装の動作は次のようになります。
while (hasNext()) action.accept(next());- パラメータ:
 action- 各要素に対して実行されるアクション- 例外:
 NullPointerException- 指定されたアクションがnullである場合- 導入されたバージョン:
 - 1.8
 
 
 - 
 
 -