モジュール java.base
パッケージ java.util.stream

インタフェースBaseStream<T,​S extends BaseStream<T,​S>>

  • 型パラメータ:
    T - ストリーム要素の型
    S - BaseStreamを実装するストリームの型
    すべてのスーパー・インタフェース:
    AutoCloseable
    既知のすべてのサブインタフェース:
    DoubleStream, IntStream, LongStream, Stream<T>

    public interface BaseStream<T,​S extends BaseStream<T,​S>>
    extends AutoCloseable
    順次および並列の集約操作をサポートする要素シーケンスであるストリームの基底インタフェース。 次の例は、ストリーム型StreamIntStreamを使用して赤色のウィジェットの重さの合計を計算する集約操作を示したものです。
    
         int sum = widgets.stream()
                          .filter(w -> w.getColor() == RED)
                          .mapToInt(w -> w.getWeight())
                          .sum();
     
    すべてのストリーム型の動作を決定するストリーム、ストリーム操作、ストリーム・パイプラインおよび並列性に関する詳しい仕様については、Streamのクラス・ドキュメントとjava.util.streamのパッケージ・ドキュメントを参照してください。
    導入されたバージョン:
    1.8
    関連項目:
    Stream, IntStream, LongStream, DoubleStream, java.util.stream
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 
      修飾子と型 メソッド 説明
      void close()
      このストリームを閉じます。その結果、このストリーム・パイプラインのすべてのクローズ・ハンドラが呼び出されます。
      boolean isParallel()
      終端操作が実行された場合にこのストリームが並列実行されるかどうかを返します。
      Iterator<T> iterator()
      このストリームの要素のイテレータを返します。
      S onClose​(Runnable closeHandler)
      追加のクローズ・ハンドラを含む同等のストリームを返します。
      S parallel()
      同等の並列ストリームを返します。
      S sequential()
      同等の順次ストリームを返します。
      Spliterator<T> spliterator()
      このストリームの要素のスプリッテレータを返します。
      S unordered()
      同等の順序付けされていないストリームを返します。
    • メソッドの詳細

      • iterator

        Iterator<T> iterator()
        このストリームの要素のイテレータを返します。

        これは終端操作です。

        戻り値:
        このストリームの要素イテレータ
      • spliterator

        Spliterator<T> spliterator()
        このストリームの要素のスプリッテレータを返します。

        これは終端操作です。

        返されたスプライテータは、ストリーム・パイプライン(すなわち、ストリーム・ソース・スプライテータと中間演算から得られる特性)から派生した一連の特性を報告する必要があります。 実装はそれらの特性のサブセットを報告するかもしれません。 たとえば、可能なストリーム・パイプラインのいくつかまたはすべてのためにセット全体をコンピュートするには高価すぎるかもしれません。

        戻り値:
        このストリームの要素スプリッテレータ
      • isParallel

        boolean isParallel()
        終端操作が実行された場合にこのストリームが並列実行されるかどうかを返します。 ストリーム終端操作メソッドを呼び出した後でこのメソッドを呼び出した場合、予期しない結果が生じる可能性があります。
        戻り値:
        このストリームが実行時に並列実行される場合はtrue
      • sequential

        S sequential()
        同等の順次ストリームを返します。 自身を返す場合がありますが、それは、ストリームがすでに順次になっていたか、あるいは基礎となるストリーム状態が順次に変更されていたからです。

        これは中間操作です。

        戻り値:
        順次ストリーム
      • parallel

        S parallel()
        同等の並列ストリームを返します。 自身を返す場合がありますが、それは、ストリームがすでに並列になっていたか、あるいは基礎となるストリーム状態が並列に変更されていたからです。

        これは中間操作です。

        戻り値:
        並列ストリーム
      • unordered

        S unordered()
        同等の順序付けされていないストリームを返します。 自身を返す場合がありますが、それは、ストリームがすでに順序付けされていなかったか、あるいは基礎となるストリーム状態が順序付けなしに変更されていたからです。

        これは中間操作です。

        戻り値:
        順序付けされていないストリーム
      • onClose

        S onClose​(Runnable closeHandler)
        追加のクローズ・ハンドラを含む同等のストリームを返します。 クローズ・ハンドラはストリーム上でclose()メソッドが呼び出されたときに実行されますが、ハンドラの実行順序は追加された順番になります。 いずれかのクローズ・ハンドラから例外がスローされても、すべてのクローズ・ハンドラが実行されます。 いずれかのクローズ・ハンドラから例外がスローされた場合、最初にスローされた例外がclose()の呼出し元に中継され、残りの例外はすべて、抑制された例外としてその例外に追加されます(ただし、残りの例外のいずれかが最初の例外と同じ例外である場合は除きます。例外が自分自身を抑制することはできないからです。) 自身を返す場合があります。

        これは中間操作です。

        パラメータ:
        closeHandler - ストリームのクローズ時に実行されるタスク
        戻り値:
        ストリームのクローズ時に実行されるハンドラを含むストリーム
      • close

        void close()
        このストリームを閉じます。その結果、このストリーム・パイプラインのすべてのクローズ・ハンドラが呼び出されます。
        定義:
        close、インタフェースAutoCloseable
        関連項目:
        AutoCloseable.close()