java - Stream<String> to Map<String, Integer> -
i have stream<string> of file, want combine equal words map<string, integer> counts, how word in stream<string>.
i know have use collect(collectors.groupingby(..)), not know how use it.
it nice, if there can provide hints how solve problem!
it's quite easy create map<string, long> using collectors.counting() downstream collector:
stream<string> s = stream.of("aaa", "bb", "cc", "aaa", "dd"); map<string, long> map = s.collect(collectors.groupingby( function.identity(), collectors.counting())); if don't long type, can count integer way:
map<string, integer> mapint = s.collect(collectors.groupingby( function.identity(), collectors.reducing(0, str -> 1, integer::sum)));
Comments
Post a Comment