Java Stream関数式プログラミングケース図の詳細

2528 ワード

リード
著者はJava Streamを一連の文章に書く計画で、本文はその一節にすぎない.もっと多くの内容はあなたが私の番号に注目することを期待します!
一、Java Streamとは何ですか.
Java Stream関数式プログラミングインタフェースは、Java 8に最初に導入され、lambdaとともにJava開発のマイルストーン式の機能特性となり、オープンユーザが集合クラスデータを処理する効率を極めて便利にした.筆者が以前見た調査記事によると、ほとんどの開発者が使用しているJDKバージョンはjava 8で、Java Streamとlambdaが功を奏している.
Java Streamは、データが流れるパイプであり、パイプ内でデータを操作し、次のパイプに流入します.linuxパイプを習ったことがある人は簡単に理解できるはずです.Java Stramがない前に,集合クラスの操作についてはforループが多かった.Java Streamはforループよりも簡潔で使いやすく、速いことが後述する.
パイプの機能には、Filter(フィルタリング)、Map(マッピング)、sort(ソート)などがあり、集合データはJava Streamパイプで処理された後、別の集合またはデータ出力のセットに変換されます.
まず例を見てみましょう
List nameStrs = Arrays.asList("Monkey", "Lion", "Giraffe","Lemur");

List list = nameStrs.stream()
        .filter(s -> s.startsWith("L"))
        .map(String::toUpperCase)
        .sorted()
        .collect(toList());
System.out.println(list);
  • まず、Stream()関数を使用して、リストをパイプフロー
  • に変換します.
  • はfilter関数を呼び出して配列要素をフィルタリングし、フィルタリング方法はlambda式を用い、Lで始まる要素はtrueを返して保持され、他のList要素は
  • をフィルタリングする.
  • その後、Map関数を呼び出してパイプフロー内の各要素を処理し、アルファベットはすべて大文字
  • に変換する.
  • は次にsort関数を呼び出し、パイプストリーム中のデータを
  • にソートする.
  • 最後にcollect関数toListを呼び出し、パイプフローをListに変換して
  • を返す
    最終的な出力結果は,[LEMUR,LION]であった.上の配列を巡るコードを考えてみてください.forループで書くと、何行のコードを書く必要がありますか.さあ、Java Streamの勉強を続けましょう.
    二、配列をパイプフローに変換する
    Streamを使用します.of()メソッドで、配列をパイプフローに変換します.
    String[] array = {"Monkey", "Lion", "Giraffe", "Lemur"};
    Stream nameStrs2 = Stream.of(array);
    
    Stream nameStrs3 = Stream.of("Monkey", "Lion", "Giraffe", "Lemur");

    三、集合クラスオブジェクトをパイプフローに変換する
    コレクションクラスのstream()メソッドを呼び出すことで、コレクションクラスオブジェクトをパイプフローに変換します.
    List list = Arrays.asList("Monkey", "Lion", "Giraffe", "Lemur");
    Stream streamFromList = list.stream();
    
    Set set = new HashSet<>(list);
    Stream streamFromSet = set.stream();

    四、テキストファイルをパイプフローに変換する
    パスlinesメソッドはテキストファイルをパイプストリームに変換し、下図のPaths.get()メソッドの役割はファイルを取得することであり,Java NIOのAPIである.
    つまり、Java Streamを使用してテキストファイルをロードし、ファイルの内容を行単位で処理することができます.
    Stream lines = Files.lines(Paths.get("file.txt"));

    ご注目をお待ちしております
  • ブロガーは最近、『SpringBootシリーズ-16章97節』
  • を手触りで教えてくれました.
  • 本文は転載して出典を明記します(必ず接続を持っていなければならなくて、文字だけを回転することができません):アルファベットの兄のブログ.