如何计算Java 8中List的单词频率?
List <String> wordsList = Lists.newArrayList("hello", "bye", "ciao", "bye", "ciao");
Run Code Online (Sandbox Code Playgroud)
结果必须是:
{ciao=2, hello=1, bye=2}
Run Code Online (Sandbox Code Playgroud) 我想知道如何由 COUNT 然后由 ASC 订购。
Stream<String> fruits = Stream.of("apple", "orange", "ananas");
Map<String, Long> letters =
fruits.map(w -> w.split(""))
.flatMap(Arrays::stream)
.collect(groupingBy(identity(), counting()));
Run Code Online (Sandbox Code Playgroud)
输出:
{p=2, a=5, r=1, s=1, e=2, g=1, l=1, n=3, o=1}`
Run Code Online (Sandbox Code Playgroud)
期望的输出:
{a=5, n=3, e=2, p=2, g=1, l=1, r=1, s=1, o=1}
Run Code Online (Sandbox Code Playgroud)