public final class StreamSupport extends Object
このクラスは基本的に、データ構造のストリーム・ビューを提供するライブラリ開発者向けのものです。エンド・ユーザー向けのstaticストリーム・メソッドの大部分は、各種のStreamクラスに含まれています。
- 導入されたバージョン:
- 1.8
- 
メソッドのサマリー修飾子と型 メソッド 説明 static DoubleStreamdoubleStream(Supplier<? extends Spliterator.OfDouble> supplier, int characteristics, boolean parallel)Spliterator.OfDoubleのSupplierから順次または並列の新しいDoubleStreamを作成します。static DoubleStreamdoubleStream(Spliterator.OfDouble spliterator, boolean parallel)Spliterator.OfDoubleから順次または並列の新しいDoubleStreamを作成します。static IntStreamintStream(Supplier<? extends Spliterator.OfInt> supplier, int characteristics, boolean parallel)Spliterator.OfIntのSupplierから順次または並列の新しいIntStreamを作成します。static IntStreamintStream(Spliterator.OfInt spliterator, boolean parallel)Spliterator.OfIntから順次または並列の新しいIntStreamを作成します。static LongStreamlongStream(Supplier<? extends Spliterator.OfLong> supplier, int characteristics, boolean parallel)Spliterator.OfLongのSupplierから順次または並列の新しいLongStreamを作成します。static LongStreamlongStream(Spliterator.OfLong spliterator, boolean parallel)Spliterator.OfLongから順次または並列の新しいLongStreamを作成します。static <T> Stream<T>stream(Supplier<? extends Spliterator<T>> supplier, int characteristics, boolean parallel)SpliteratorのSupplierから順次または並列の新しいStreamを作成します。static <T> Stream<T>stream(Spliterator<T> spliterator, boolean parallel)Spliteratorから新しい逐次的または並列的なStreamを作成します。
- 
メソッドの詳細- 
streampublic static <T> Stream<T> stream(Spliterator<T> spliterator, boolean parallel)Spliteratorから新しい逐次的または並列的なStreamを作成します。スプリッテレータのトラバース、分割、または推定サイズの照会は、ストリーム・パイプラインの終端操作が開始されるまで行われません。 スプリッテレータから IMMUTABLE、CONCURRENTのいずれかの特性が報告されるようにするか、あるいはスプリッテレータを遅延バインディングにすることを、強くお薦めします。 そうしない場合は、ソースへの干渉が発生する可能性が減るように、stream(java.util.function.Supplier, int, boolean)を使用すべきです。 詳細は「非干渉」を参照してください。- 型パラメータ:
- T- ストリーム要素の型
- パラメータ:
- spliterator- ストリームの要素を記述する- Spliterator
- parallel-- trueの場合は返されるストリームが並列ストリームになり、- falseの場合は返されるストリームが順次ストリームになる。
- 戻り値:
- 新しい順次または並列Stream
 
- 
streampublic static <T> Stream<T> stream(Supplier<? extends Spliterator<T>> supplier, int characteristics, boolean parallel)SpliteratorのSupplierから順次または並列の新しいStreamを作成します。サプライヤ上で Supplier.get()メソッドが呼び出されるのは一度だけであり、しかもストリーム・パイプラインの終端操作が開始されるまでは呼び出されません。IMMUTABLE、CONCURRENTのいずれかの特性を報告するスプリッテレータ、または遅延バインディングのスプリッテレータの場合、かわりにstream(java.util.Spliterator, boolean)を使用したほうがおそらく効率的です。Supplierをこの形式で使用すると、ある種の間接性が提供され、ソースへの干渉が発生する可能性が減ります。 サプライヤは終端操作が開始されるまで呼び出されないので、終端操作が開始されるまでに行われたソースに対する変更はすべて、ストリームの結果に反映されます。 詳細については、「非干渉」を参照してください。- 型パラメータ:
- T- ストリーム要素の型
- パラメータ:
- supplier-- Spliteratorの- Supplier
- characteristics- 指定された- Spliteratorのスプリッテレータ特性。 この特性は- supplier.get().characteristics()と等しい必要があります。そうでないと、終端操作の開始時に未定義の動作が発生する可能性があります。
- parallel-- trueの場合は返されるストリームが並列ストリームになり、- falseの場合は返されるストリームが順次ストリームになる。
- 戻り値:
- 新しい順次または並列Stream
- 関連項目:
- stream(java.util.Spliterator, boolean)
 
- 
intStreampublic static IntStream intStream(Spliterator.OfInt spliterator, boolean parallel)Spliterator.OfIntから順次または並列の新しいIntStreamを作成します。スプリッテレータのトラバース、分割、または推定サイズの照会は、ストリーム・パイプラインの終端操作が開始されるまで行われません。 スプリッテレータから IMMUTABLE、CONCURRENTのいずれかの特性が報告されるようにするか、あるいはスプリッテレータを遅延バインディングにすることを、強くお薦めします。 そうしない場合は、ソースへの干渉が発生する可能性が減るように、intStream(java.util.function.Supplier, int, boolean)を使用すべきです。 詳細は「非干渉」を参照してください。- パラメータ:
- spliterator- ストリームの要素を記述する- Spliterator.OfInt
- parallel-- trueの場合は返されるストリームが並列ストリームになり、- falseの場合は返されるストリームが順次ストリームになる。
- 戻り値:
- 新しい順次または並列IntStream
 
- 
intStreampublic static IntStream intStream(Supplier<? extends Spliterator.OfInt> supplier, int characteristics, boolean parallel)Spliterator.OfIntのSupplierから順次または並列の新しいIntStreamを作成します。サプライヤ上で Supplier.get()メソッドが呼び出されるのは一度だけであり、しかもストリーム・パイプラインの終端操作が開始されるまでは呼び出されません。IMMUTABLE、CONCURRENTのいずれかの特性を報告するスプリッテレータ、または遅延バインディングのスプリッテレータの場合、かわりにintStream(java.util.Spliterator.OfInt, boolean)を使用したほうがおそらく効率的です。Supplierをこの形式で使用すると、ある種の間接性が提供され、ソースへの干渉が発生する可能性が減ります。 サプライヤは終端操作が開始されるまで呼び出されないので、終端操作が開始されるまでに行われたソースに対する変更はすべて、ストリームの結果に反映されます。 詳細については、「非干渉」を参照してください。- パラメータ:
- supplier-- Spliterator.OfIntの- Supplier
- characteristics- 指定された- Spliterator.OfIntのスプリッテレータ特性。 この特性は- supplier.get().characteristics()と等しい必要があります。そうでないと、終端操作の開始時に未定義の動作が発生する可能性があります。
- parallel-- trueの場合は返されるストリームが並列ストリームになり、- falseの場合は返されるストリームが順次ストリームになる。
- 戻り値:
- 新しい順次または並列IntStream
- 関連項目:
- intStream(java.util.Spliterator.OfInt, boolean)
 
- 
longStreampublic static LongStream longStream(Spliterator.OfLong spliterator, boolean parallel)Spliterator.OfLongから順次または並列の新しいLongStreamを作成します。スプリッテレータのトラバース、分割、または推定サイズの照会は、ストリーム・パイプラインの終端操作が開始されるまで行われません。 スプリッテレータから IMMUTABLE、CONCURRENTのいずれかの特性が報告されるようにするか、あるいはスプリッテレータを遅延バインディングにすることを、強くお薦めします。 そうしない場合は、ソースへの干渉が発生する可能性が減るように、longStream(java.util.function.Supplier, int, boolean)を使用すべきです。 詳細は「非干渉」を参照してください。- パラメータ:
- spliterator- ストリームの要素を記述する- Spliterator.OfLong
- parallel-- trueの場合は返されるストリームが並列ストリームになり、- falseの場合は返されるストリームが順次ストリームになる。
- 戻り値:
- 新しい順次または並列LongStream
 
- 
longStreampublic static LongStream longStream(Supplier<? extends Spliterator.OfLong> supplier, int characteristics, boolean parallel)Spliterator.OfLongのSupplierから順次または並列の新しいLongStreamを作成します。サプライヤ上で Supplier.get()メソッドが呼び出されるのは一度だけであり、しかもストリーム・パイプラインの終端操作が開始されるまでは呼び出されません。IMMUTABLE、CONCURRENTのいずれかの特性を報告するスプリッテレータ、または遅延バインディングのスプリッテレータの場合、代わりにlongStream(java.util.Spliterator.OfLong, boolean)を使用したほうがおそらく効率的です。Supplierをこの形式で使用すると、ある種の間接性が提供され、ソースへの干渉が発生する可能性が減ります。 サプライヤは終端操作が開始されるまで呼び出されないので、終端操作が開始されるまでに行われたソースに対する変更はすべて、ストリームの結果に反映されます。 詳細については、「非干渉」を参照してください。- パラメータ:
- supplier-- Spliterator.OfLongの- Supplier
- characteristics- 指定された- Spliterator.OfLongのスプリッテレータ特性。 この特性は- supplier.get().characteristics()と等しい必要があります。そうでないと、終端操作の開始時に未定義の動作が発生する可能性があります。
- parallel-- trueの場合は返されるストリームが並列ストリームになり、- falseの場合は返されるストリームが順次ストリームになる。
- 戻り値:
- 新しい順次または並列LongStream
- 関連項目:
- longStream(java.util.Spliterator.OfLong, boolean)
 
- 
doubleStreampublic static DoubleStream doubleStream(Spliterator.OfDouble spliterator, boolean parallel)Spliterator.OfDoubleから順次または並列の新しいDoubleStreamを作成します。スプリッテレータのトラバース、分割、または推定サイズの照会は、ストリーム・パイプラインの終端操作が開始されるまで行われません。 スプリッテレータから IMMUTABLE、CONCURRENTのいずれかの特性が報告されるようにするか、あるいはスプリッテレータを遅延バインディングにすることを、強くお薦めします。 そうしない場合は、ソースへの干渉が発生する可能性が減るように、doubleStream(java.util.function.Supplier, int, boolean)を使用すべきです。 詳細は「非干渉」を参照してください。- パラメータ:
- spliterator- ストリームの要素を記述する- Spliterator.OfDouble
- parallel-- trueの場合は返されるストリームが並列ストリームになり、- falseの場合は返されるストリームが順次ストリームになる。
- 戻り値:
- 新しい順次または並列DoubleStream
 
- 
doubleStreampublic static DoubleStream doubleStream(Supplier<? extends Spliterator.OfDouble> supplier, int characteristics, boolean parallel)Spliterator.OfDoubleのSupplierから順次または並列の新しいDoubleStreamを作成します。サプライヤ上で Supplier.get()メソッドが呼び出されるのは一度だけであり、しかもストリーム・パイプラインの終端操作が開始されるまでは呼び出されません。IMMUTABLE、CONCURRENTのいずれかの特性を報告するスプリッテレータ、または遅延バインディングのスプリッテレータの場合、代わりにdoubleStream(java.util.Spliterator.OfDouble, boolean)を使用したほうがおそらく効率的です。Supplierをこの形式で使用すると、ある種の間接性が提供され、ソースへの干渉が発生する可能性が減ります。 サプライヤは終端操作が開始されるまで呼び出されないので、終端操作が開始されるまでに行われたソースに対する変更はすべて、ストリームの結果に反映されます。 詳細については、「非干渉」を参照してください。- パラメータ:
- supplier-- Spliterator.OfDoubleの- Supplier
- characteristics- 指定された- Spliterator.OfDoubleのスプリッテレータ特性。 この特性は- supplier.get().characteristics()と等しい必要があります。そうでないと、終端操作の開始時に未定義の動作が発生する可能性があります。
- parallel-- trueの場合は返されるストリームが並列ストリームになり、- falseの場合は返されるストリームが順次ストリームになる。
- 戻り値:
- 新しい順次または並列DoubleStream
- 関連項目:
- doubleStream(java.util.Spliterator.OfDouble, boolean)
 
 
-