- 型パラメータ:
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 interface
double
値に特化されたイテレータ。static interface
int
値に特化されたイテレータ。static interface
long
値に特化されたイテレータ。 -
メソッドのサマリー
修飾子と型メソッド説明void
forEachRemaining
(T_CONS action) すべての要素の処理が完了するかアクションから例外がスローされるまで、残りの各要素に対して指定されたアクションを実行します。インタフェース java.util.Iteratorで宣言されたメソッド
forEachRemaining, hasNext, next, remove
-
メソッドの詳細
-
forEachRemaining
void forEachRemaining(T_CONS action) すべての要素の処理が完了するかアクションから例外がスローされるまで、残りの各要素に対して指定されたアクションを実行します。 反復の順序でアクションが実行されます(その順序が指定されている場合)。 アクションによってスローされた例外は、呼出し側に中継されます。オーバーライドされたクラスで同時変更ポリシーが指定されていないかぎり、アクションによって要素のソースが変更された場合、イテレータの動作は未指定です (
remove
メソッドまたはIterator
サブ型の他のメソッドを呼び出すことによっても)。反復子の後続の動作は、アクションが例外をスローした場合には未定義です。
- パラメータ:
action
- 各要素に対して実行されるアクション- 例外:
NullPointerException
- 指定されたアクションがnullである場合
-