java - 在 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。
解决方案
怎么样
Map<String, Long> counts = yourStringStream
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
这为您提供了从所有单词到其频率计数的地图。
推荐阅读
- dynamics-crm - 查找字段中的文档模板实体
- python - 如何从文件中删除一行?
- vb.net - Microsoft.ACE.OLEDB 未在本地计算机上注册
- postgresql - 如何在多列上创建唯一约束,一列可以有单个空值
- java - Android 蓝牙程序在大约一分钟后停止接收字符。java.io.exception:BT 套接字关闭读取返回:-1
- android - 在后端将 MVVM 和 n 层架构与 Firestore 相结合
- android - Google Pay 电子钱包中的访问卡
- python - 如何从采用“bool”类型的矩阵中调用方法?
- bash - 父退出时如何使Bash后台命令退出?
- pca - 主成分分析阈值