私はStream<String>
ファイルの を持っています。今、等しい単語を に結合したいと思いMap<String, Integer>
ますStream<String>
。
を使用する必要があることはわかっていcollect(Collectors.groupingBy(..))
ますが、使用方法がわかりません。
この問題を解決する方法のヒントを提供できる人がいれば、とてもうれしいです!
私はStream<String>
ファイルの を持っています。今、等しい単語を に結合したいと思いMap<String, Integer>
ますStream<String>
。
を使用する必要があることはわかっていcollect(Collectors.groupingBy(..))
ますが、使用方法がわかりません。
この問題を解決する方法のヒントを提供できる人がいれば、とてもうれしいです!
as ダウンストリーム コレクターMap<String, Long>
を使用して作成するのは非常に簡単です。Collectors.counting()
Stream<String> s = Stream.of("aaa", "bb", "cc", "aaa", "dd");
Map<String, Long> map = s.collect(Collectors.groupingBy(
Function.identity(), Collectors.counting()));
タイプが苦手な場合はLong
、次のように数えることができますInteger
。
Map<String, Integer> mapInt = s.collect(Collectors.groupingBy(
Function.identity(),
Collectors.reducing(0, str -> 1, Integer::sum)));