Javaストリーム8は、姿勢を生成し、

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/qq_36438618/article/details/102764667

定義ストリーム

  • 高分子は、順次および並列動作要素シーケンスをサポートしています
  • これは、アレイ、およびからのファイルのセットで変換することができます
  • ストリームは、消費後に完了し、かつ同じ水を望んでいません。
  • 「ソース」のストリームを生成する動作の流れ中に変化しません

「ジェスチャー」のストリームを生成します

  • ストリームの配列を生成します
Integer[] arr = {1, 2, 3, 4, 6};//这里可以开成int[] 试试看看结果。。。①
        Stream.of(arr)//生成流Stream<Integer>
                .forEach(System.out::println);//打印流中的每个元素
  • セット(リスト)、ストリーム収集インターフェース方法を変更、追加されたストリームを生成する、インターフェイスのすべての実装を生成することができるストリーム
Arrays.asList(1, 2, 3, 4)//返回list集合
                .stream()//转换为Stream<Integer>
                .forEach(System.out::println);
  • ファイル生成フローを読みます
Files.lines(Paths.get("E:\\temp\\test.txt"))
                .forEach(System.out::println);
  • ストリームの流れが無限発生に至る、Streamクラスは、無限のストリームを生成するために2つの静的メソッドを持っています
    • メソッドシグネチャ:パブリック静的ストリームは(サプライヤーs)を生成し、サプライヤーは、機能インタフェース、生産ストリームの主要素の役割であります
Stream.generate(() -> 1)
                .limit(5)// 
                .forEach(System.out::println);
  • メソッドシグネチャ:パブリック静的ストリーム反復(最終T種子、最終UnaryOperatorのf)は、種子は、UnaryOperatorパラメータが動作パラメータに渡された初期値と同一の戻り型であります
Stream.iterate(5, i -> i + 1)//生成无线流
                .limit(5)//使用limit 截断流 这里取前5个,类比sql 的limit
                .forEach(System.out::println);

上記二つの方法は、限られた流れを生成するために、次の二つの用語を無限ストリームを生成しています

  • LongStream IntStream範囲()とrangeClosed()メソッドは、2つの方法が同じパラメータである:開始と終了値、またはタイプがlong int型であり、これらの2つの方法の違いは次のとおり方法の終わりを含まない範囲値、終了値を含むrangeClosed。
@Test
    public void streamRanged() {
        IntStream.range(1, 2)
                .forEach(System.out::println);
    }

結果:

 1
    @Test
    public void streamRangeClosed() {
        IntStream.rangeClosed(1, 2)
                .forEach(System.out::println);
    }

結果:

1
2

私たちは、批判訂正歓迎
コードアドレスを

おすすめ

転載: blog.csdn.net/qq_36438618/article/details/102764667