首页 > 解决方案 > 在 Java 8 中使用数组流计算单词出现次数

问题描述

如何使用数组流计算字符串中的词频?我正在使用 Java 8。

这是我的代码:

String sentence = "The cat has black fur and black eyes";
String[] bites = sentence.trim().split("\\s+");

String in = "black cat";

计算句子中单词“black”和“cat”的频率。单词“black”的频率为 2,单词“cat”的频率为 1。

所以目标输出是3。

标签: javaarraysjava-8java-stream

解决方案


怎么样

Map<String, Long> counts = yourStringStream
    .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

这为您提供了从所有单词到其频率计数的地图。


推荐阅读