- java.lang.Object
-
- java.util.stream.StreamSupport
-
public final class StreamSupport extends Object
ストリームを作成および操作するための低レベルのユーティリティ・メソッドです。このクラスは基本的に、データ構造のストリーム・ビューを提供するライブラリ開発者向けのものです。エンド・ユーザー向けのstaticストリーム・メソッドの大部分は、各種の
Stream
クラスに含まれています。- 導入されたバージョン:
- 1.8
-
-
メソッドのサマリー
修飾子と型 メソッド 説明 static DoubleStream
doubleStream(Supplier<? extends Spliterator.OfDouble> supplier, int characteristics, boolean parallel)
Spliterator.OfDouble
のSupplier
から順次または並列の新しいDoubleStream
を作成します。static DoubleStream
doubleStream(Spliterator.OfDouble spliterator, boolean parallel)
Spliterator.OfDouble
から順次または並列の新しいDoubleStream
を作成します。static IntStream
intStream(Supplier<? extends Spliterator.OfInt> supplier, int characteristics, boolean parallel)
Spliterator.OfInt
のSupplier
から順次または並列の新しいIntStream
を作成します。static IntStream
intStream(Spliterator.OfInt spliterator, boolean parallel)
Spliterator.OfInt
から順次または並列の新しいIntStream
を作成します。static LongStream
longStream(Supplier<? extends Spliterator.OfLong> supplier, int characteristics, boolean parallel)
Spliterator.OfLong
のSupplier
から順次または並列の新しいLongStream
を作成します。static LongStream
longStream(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
を作成します。
-
-
-
メソッドの詳細
-
stream
public 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
-
stream
public 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)
-
intStream
public 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
-
intStream
public 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)
-
longStream
public 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
-
longStream
public 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)
-
doubleStream
public 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
-
doubleStream
public 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)
-
-