ストリームの研究ノート

1.ストリーム五つの方法のインスタンスを作成します。

  @Test
     公共 ボイドTEST1(){
         // 最初の方法は、オブジェクトストリーム作成する 
        リストの<string> Lists.newArrayList一覧=( "A"、 "B"、 "C" ;)
        ストリームの<string> STREAM1 = list.streamを(); 

        // 第2の実施の形態のストリームオブジェクトの作成 
        文字列[] ARR = { "A"、 "B" ;} 
        ストリームの<string> STREAM2 = Arrays.stream(ARR)を; 

        // ストリームオブジェクト第三の作成実施例

        ストリームの<string> STREAM3 Stream.of =( "A"、 "B" ); 

        //は、第四の実施形態ストリームオブジェクトを作成
         // のみリーディング5反復が無制限に実行するので、制限 
        ストリーム<整数>stream4 = Stream.iterate(0、X - > X * X).limit(5 )。

        // ストリームオブジェクト第5の実施形態を作成
         // 無制限に実行されます生成し、これだけリーディング5限定 
        ストリーム<ダブル> Stream5 = Stream.generate(数学::ランダム).limitを(5。); 
    }

 

2.ストリーム一般アピ

@Test
     公共 ボイドTEST2(){ 
        リストの<string>リスト= Lists.newArrayList( "ABC"、 "BCD"、 "EFG"、 "A12"、 "BCD" )。
        // 1.过滤 
        。list.stream()フィルタ(X - > x.contains( "B" ))のforEach(のSystem.out ::のprintln)。

        // 2.取前N 
        list.stream()リミット(1 ).forEach(のSystem.out ::のprintln)。

        // 3.跳过前N个 
        list.stream()(2スキップ。).forEach(のSystem.out ::のprintlnを)

        // 4.異なる去の重の
        list.stream()別個の()のforEach(のSystem.out ::のprintln)。

        // 5.マップ映射 
        。list.stream()マップ(X - > x.toUpperCase())。

        System.out.println( "-----------------------" );
         // 6. flatMapマップ(Scalaのマップにおいて、flatMap同じ) 、ストリームを返し 
        list.stream()flatMap(X - 。> Stream.of(x.toUpperCase()))のforEach(System.outに::のprintln);. 


        // 7.ソートソート()--->を自然順序付け 
        リスト<整数> = Lists.newArrayListのList1(12 ,. 1、0、-1、2、56であるが、34である); 
        .. list1.stream()ソート()のforEach(のSystem.out ::のprintln); 

        // 8.ソートソート(比較器COM) - >ソートルールの指定 
        list1.stream()ソートを。((E1、E2) - > - 。Integer.compare(E1、E2))のforEach(System.outに::のprintln) ; 

        // 9.一致検索
         // リスト内のすべての要素は、「」が含まれてい
        ブールprintln(any.get())。//

        

        

        

        

        最大値を取得します 
        。<整数> = maxのオプションの;. list1.stream()最大(のcompareTo ::整数)
         // 上記の行は、このコードの省略形です
 //         省略可能<整数> MAX1 = list1.stream()MAX(。 (E1、E2) - > Integer.compare(E1、E2)); 
        のSystem.out.println(max.get()); 

        // 10、還元 
        オプションの<整数> = list1.streamを(低減させる (減少させます)。 (X、Y) - > X + Y);   // のList1加算要素
        のSystem.out.println(reduce.get()); 

        整数SUM = list1.stream()を低減(0、整数:: SUM)。 ;   // のList1加算要素
        のSystem.out.println(SUM); 

        整数SUM2 = list1.stream()を低減(10、整数:: SUM);.   //10 +加算要素LIST1 
        のSystem.out.println(SUM2); 

        // 11コレクト- >ストリームがリストのセットに変わります 
        一覧<整数>集める= list1.stream( )マップ(X - > X * 2。 ).collect(Collectors.toList()); 
        collect.forEach(のSystem.out ::のprintln); 

    }

 

おすすめ

転載: www.cnblogs.com/z-qinfeng/p/11762114.html