インタフェースPrimitiveIterator<T,T_CONS>
- 型パラメータ:
T- このPrimitiveIteratorによって返される要素のタイプ。 この型はプリミティブ型に対するラッパー型である必要があります(プリミティブint型に対するIntegerなど)。T_CONS- 原始消費者のタイプ。 この型はTに対するConsumerのプリミティブ特殊化である必要があります(Integerに対するIntConsumerなど)。
- すべてのスーパー・インタフェース:
Iterator<T>
- 既知のすべてのサブインタフェース:
PrimitiveIterator.OfDouble,PrimitiveIterator.OfInt,PrimitiveIterator.OfLong
public interface PrimitiveIterator<T,T_CONS> extends Iterator<T>
Iteratorのプリミティブ特化に使用するベース・タイプ。 特殊化されたサブタイプが、int、longおよびdouble値のために提供されています。
Iterator.next()およびIterator.forEachRemaining(java.util.function.Consumer)の特殊化されたサブタイプ・デフォルト実装は、プリミティブ値を対応するラッパー・クラスのインスタンスにボクシングします。 このようなボクシングは、プリミティブ特殊化の使用時に得られるすべての利点を相殺する場合があります。 ボクシングを避けるには、対応するプリミティブ・ベース・メソッドを使用してください。 たとえば、PrimitiveIterator.OfInt.nextInt()とPrimitiveIterator.OfInt.forEachRemaining(java.util.function.IntConsumer)を、PrimitiveIterator.OfInt.next()とPrimitiveIterator.OfInt.forEachRemaining(java.util.function.Consumer)よりも優先して使用することをお薦めします。
ボクシング・ベース・メソッドnext()およびforEachRemaining()を使用したプリミティブ値の反復は、値がボクシング値に変換されて検出される順序に影響しません。
- 実装上のノート:
- booleanシステム・プロパティ
org.openjdk.java.util.stream.tripwireがtrueに設定されている場合、プリミティブ・サブタイプ特殊化に対する操作時にプリミティブ値のボクシングが発生すると、診断警告が報告されます。 - 導入されたバージョン:
- 1.8
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インタフェース説明static interfacedouble値に特化されたイテレータ。static interfaceint値に特化されたイテレータ。static interfacelong値に特化されたイテレータ。 -
メソッドのサマリー
修飾子と型メソッド説明voidforEachRemaining(T_CONS action) すべての要素の処理が完了するかアクションから例外がスローされるまで、残りの各要素に対して指定されたアクションを実行します。インタフェースjava.util.Iteratorで宣言されたメソッド
forEachRemaining, hasNext, next, remove
-
メソッドの詳細
-
forEachRemaining
void forEachRemaining(T_CONS action) すべての要素の処理が完了するかアクションから例外がスローされるまで、残りの各要素に対して指定されたアクションを実行します。 反復の順序でアクションが実行されます(その順序が指定されている場合)。 アクションによってスローされた例外は、呼出し側に中継されます。オーバーライドされたクラスで同時変更ポリシーが指定されていないかぎり、アクションによって要素のソースが変更された場合、イテレータの動作は未指定です (
removeメソッドまたはIteratorサブ型の他のメソッドを呼び出すことによっても)。イテレータのそれ以降の動作は、アクションが例外をスローした場合には指定されません。
- パラメータ:
action- 各要素に対して実行されるアクション- スロー:
NullPointerException- 指定されたアクションがnullである場合
-