Javaの8 - 例ストリームコレクターパケット

1.パケット単位、カウントおよびソート

1.1プレスパケットList、およびそれが総数が表示されます。

パッケージcom.mkyong.java8。

輸入java.util.Arrays。
輸入はjava.util.List; 
輸入java.util.Map; 
輸入java.util.function.Function。
輸入java.util.stream.Collectors。

パブリッククラスJava8Example1 { 

    パブリック静的無効メイン(文字列[] args){ 
        
        // 3リンゴ、2バナナ、他の1つの
        リストの<string>商品= 
                は、Arrays.asList( "APPLE"、 "APPLE"、 "バナナ"、
                        "APPLE" 、「オレンジ」、「バナナ」、「パパイヤ」)。

        地図<文字列、ロング>結果= 
                items.stream()。(集める
                        コレクター。 
                                機能。
 
        のSystem.out.println(結果)。


    } 
}

出力

{ 
	パパイヤ= 1、オレンジ= 1、2 =バナナ、リンゴ= 3 
}

1.2加えたソート。

パッケージcom.mkyong.java8。

輸入java.util.Arrays。
輸入java.util.LinkedHashMap。
輸入はjava.util.List; 
輸入java.util.Map; 
輸入java.util.function.Function。
輸入java.util.stream.Collectors。

パブリッククラスJava8Example2 { 

    パブリック静的無効メイン(文字列[] args){ 

        // 3リンゴ、2バナナ、他の1つの
        リストの<string>商品= 
                は、Arrays.asList( "APPLE"、 "APPLE"、 "バナナ"、
                        "APPLE" 、「オレンジ」、「バナナ」、「パパイヤ」)。

        地図<文字列、ロング>結果= 
                items.stream()。(コレクト 
                        (Collectors.groupingByを
                                )(Function.identityを
                ); 

        地図<文字列、ロング> finalMap =新しいのLinkedHashMap <>(); 

        //マップをソートし、finalMapに追加
        result.entrySet()ストリーム()。
                .sorted(のMap.Entry <文字列、ロング> comparingByValueを()。
                        forEachOrdered(E().reversed) - 。> finalMap.put(E。 getKey()、e.getValue()))。

        System.out.println(finalMap)。


    } 
}

  

出力

{ 
	リンゴ= 3、バナナ= 2、パパイヤ= 1、オレンジ= 1 
}

おすすめ

転載: www.cnblogs.com/ZJOE80/p/10935884.html