2017-04-25 2 views
5

にストリーム。 forループを使用して実装するのはかなり簡単ですが、Javaストリームを利用するより洗練されたソリューションを得ることは可能ですか?パーティションのJavaは、私は元のストリームは、カテゴリの値に基づいて、サブリストに分割され<code>map<String, list<A>></code>を、()を取得したいと思い</p> <pre><code>class A { String category(); // ... } </code></pre> <p><code>stream<A></code>を、持っているカテゴリ

例:{[a, xyz], [a, zyx], [b, abc]}

を考えると、私はマップを取得したいと思います:

a -> {[a, xyz], [a, zyx]} 
b -> {[b, abc]} 

答えて

11

groupingBy collectorを使用してください。

stream.collect(Collectors.groupingBy(A::category));

関連する問題

 関連する問題