user2440671:
それは、コレクション内のユニークな要素をプリントアウトし、各要素の数を含めるために、単一のJavaスチームステートメントを使用することが可能です場合、私は思ったんだけど。
例えば、私が持っていた場合:
List<String> animals = Arrays.asList("dog", "cat", "pony", "pony", "pony", "dog");
私は、ストリームを印刷したいと思います:
cat - 1
dog - 2
pony - 3
ラビンドラRanwala:
あなたは、それがとても好き行うことができます
Map<String, Long> result = animals.stream()
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
使用するCollectors.groupingBy
グループに同じキーを持つ要素を。その後、適用counting
カウントを取得するには、各グループのためのダウンストリームコレクタを。