ストリーム - ソートとマッピング(C)

* MAP-は、ラムダを受信抽出情報または他の形式に変換素子。パラメータとして受信機能、関数は、各要素に適用され、新しい要素にそれをマップします。
* FlatMap-パラメータとして受信機能、各ストリームの値を別のストリームに置き換えられ、その後、全て一つのストリームに接続されたフロー

    一覧<従業員>従業員=は、Arrays.asList(//
             新しい従業員(20、 "张三"、5000.35)、//
             新しい従業員(40、 "李四"、6500.63)、//
             新しい従業員(30、「王五」、4000.93)、//
             新しい従業員(50、 "赵六"、9005.36)、//
             新しい従業員(10、 "马七"、1050.93)、//
             新しい従業員(10、 "马七"、1050.93)//
             新しい従業員(10、 "马七"、1050.93)、//
             新しい従業員(10、 "马七"、1050.93)、//
             新しい従業員(20、 "朱八"、3000.73)//
     )。

図1に示すように、パラメータとして受信機能ラムダ、FlatMap-を受信MAP-

    @Test
     公共 ボイドTEST5(){
        リストの<string> asList =は、Arrays.asList( "AAA"、 "BBB"、 "CCC"、 "DDD"、 "EEE"、 "FFF" )。
        asList.stream()マップ((E)。 - > e.toUpperCase())はforEach(System.outに::のprintln)。

        System.out.println( "====================" );
        。employees.stream()マップ(従業員::のgetName).forEach(System.outに::のprintln)。

        System.out.println( "====================" );
        ストリーム <ストリーム<文字>>マッピング= 。asList.stream()マップ(StreamApiTest2 :: filterCharacter)。
        map.forEach((E) - > {
            e.forEach(のSystem.out ::のprintln)。
        });

        System.out.println( "====================" );
        asList.stream()flatMap(StreamApiTest2 :: filterCharacter).forEach(System.outに::のprintln)。
    }

    プライベート 静的ストリーム<文字> filterCharacter(文字列str){
        一覧 <文字>リスト= 新しいのArrayList <文字> ();
        CHAR [] charArray = str.toCharArray()。
        チャーC:charArray){
            list.add(C);
        }
        リターンlist.stream();
    }

2、ソート()ソート - 自然な順序が(コンパレータCOM)カスタムソートをソート

    @Test
     公共 ボイドTEST6(){
        リストの<string> asList =は、Arrays.asList( "AAA"、 "BBB"、 "CCC"、 "DDD"、 "EEE"、 "FFF" )。
        asList.stream()ソート()のforEach(System.outに::のprintln)。。。

        System.out.println( "====================" );
        。employees.stream()ソート((E1、E2) - > {
             場合(e1.getAge()(e2.getAge())){等しい。
                 リターンe1.getName()のcompareTo(e2.getName())。
            } {
                 リターン - e1.getAge()のcompareTo(e2.getAge())。
            }
        })のforEach(のSystem.out ::のprintln)。
    }

 

おすすめ

転載: www.cnblogs.com/zhanh247/p/11854442.html