统计一段文本中每个单词出现的次数(以单词为键,单词出现的次数为值)
方法1(通过TreeMap):
第一种通过TreeMap,代码如下:
package Test2;import java.util.Map;
import java.util.Set;
import java.util.TreeMap;public class Demo1 {//通过TreeMap自动排序public static void main(String[] args) {TreeMap<String, Integer> treeMap = new TreeMap<>();//创建TreeMap集合,以便通过其特性达到自动排序String str="wo ai heima wo ai java wo yao hao hao xue xi java";String[] split = str.split(" "); //通过调用字符串的split方法,让字符串通过空格进行分割,返回一个字符串数组for (String s : split) { //遍历字符串数组if (treeMap.containsKey(s)) { //判断TreeMap集合中是否有该字符Integer value = treeMap.get(s); //通过key找出集合中的valuetreeMap.put(s, value + 1); //将值的数据加1,然后添加到集合中去} else {treeMap.put(s,1); //此时集合中没有该Key,所以将该字符作为键加入到集合中}}Set<Map.Entry<String, Integer>> entries = treeMap.entrySet(); //获取集合的键值对集合for (Map.Entry<String, Integer> entry : entries) { //遍历该集合String key = entry.getKey(); //获取键值对集合的键Integer value = entry.getValue(); //获取键值对集合的值System.out.print(key+"("+value+")"); //拼接打印}}
}
第二种(通过LinkedMap配合Stream流):
代码如下:
package Test2;import java.util.LinkedHashMap;
import java.util.function.Consumer;public class Demo1_1 {public static void main(String[] args) {LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();String str="wo ai heima wo ai java wo yao hao hao xue xi java";String[] split = str.split(" ");for (String s : split) {if (linkedHashMap.containsKey(s)) {Integer value = linkedHashMap.get(s);linkedHashMap.put(s, value+1);} else {linkedHashMap.put(s, 1);}}linkedHashMap.keySet().stream().sorted().forEach(new Consumer<String>() {@Overridepublic void accept(String s) {System.out.print(s+"("+linkedHashMap.get(s)+")");}}); //通过流进行排序// linkedHashMap.forEach((key,value)-> System.out.print(key+"("+value+")"));}
}
第三种(通过HashMap配合Stream使用):
代码如下:
package Test2;import java.util.HashMap;
import java.util.function.Consumer;public class Demo1_2 {public static void main(String[] args) {HashMap<String, Integer> hashMap = new HashMap<>();String str="wo ai heima wo ai java wo yao hao hao xue xi java";String[] s = str.split(" ");for (String s1 : s) {if (hashMap.containsKey(s1)) {Integer value = hashMap.get(s1);hashMap.put(s1, value + 1);} else {hashMap.put(s1, 1);}}hashMap.keySet().stream().sorted().forEach(new Consumer<String>() {@Overridepublic void accept(String s) {System.out.print(s + "(" + hashMap.get(s) + ")");}});}
}
统计一段文本中每个单词出现的次数(以单词为键,单词出现的次数为值)相关推荐
- 用c语言编写代码:统计一个文本中出现次数最多的字符,写一个程序,统计一段文本中,出现次数最多的英文字母的数量,同字母大小写视为同字母 例子: wq...
满意答案 ktbp61j 2015.11.26 采纳率:53% 等级:9 已帮助:613人 123456789101112131415161718192021# -*- coding: utf- ...
- 编写一个方法,将一段文本中的各个单词的字母顺序翻转题
编写一个方法,将一段文本中的各个单词的字母顺序翻转题 1.任务介绍 编写一个方法,将一段文本中的各个单词的字母顺序翻转, 例如:"I like writing code best" ...
- 使用java,计算一段文本中出现英语单词次数最多的单词
package cn.rrl.interview;import java.util.ArrayList; import java.util.Collections; import java.util. ...
- Python实现计算一段文本中每个单词出现的次数
看实验楼的课程,有一个小练习,做了一下.要求用Python实现计算一段文本中每个单词出现的次数. sentence = 'hello world nihao world hey hello java ...
- python 词库 匹配_python从一段文本中找出存在于词库的词语
python从一段文本中找出存在于词库的词语 有现成的库吗? 可能不是最佳答案,只是提供一个思路. 个人觉得这个问题并不需要什么库,先把词库载入,弄成列表什么的.然后再把你需要匹配的文本读入,反过来想 ...
- javascript实现 文本过滤 找出一段文本中的所有数字/数值 并在去重后排序
文章目录 Intro 浏览器控制台 JavaScript API测试 从一串文本中按照某种模式提取出匹配的子字符串 String.prototype.match(regexp) 数组去重 Array- ...
- python怎么统计单词总数_Python【习题】:统计纯英文文本中总字数
人生苦短,我用Python 环境:Windows 10 64-bit, python == 3.6.4 , PyCharm CE == 2018.1 声明:学习资源来自于网络,这里是自己学习笔记总结与 ...
- 统计一段文字中的单词个数并按单词的字母顺序排序后输出
现需要统计若干段文字(英文)中的不同单词数量. 如果不同的单词数量不超过10个,则将所有单词输出(按字母顺序),否则输出前10个单词. 注1:单词之间以空格(1个或多个空格)为间隔. 注2:忽略空行或 ...
- hadoop 文本统计一个字符的个数_使用hadoop统计多个文本中每个单词数目
程序源码 1 importjava.io.IOException;2 importjava.util.StringTokenizer;3 importorg.apache.hadoop.conf.Co ...
最新文章
- 马斯克受罚离任董事长,默多克之子或将成接替者!
- Ubuntu 配置 Android 开发 环境
- 什么是数据中心,它们是如何变化的?
- Spring注解开发-初始化/销毁方法注解
- linux - word frequency
- 《c语言从入门到精通》看书笔记——第12章 位运算
- Redis常见问题及其一些重点知识总结
- unity 烘焙参数 设置_Unity通用渲染管线(URP)系列(九)——点光源和聚光灯
- docker国内镜像链接
- SkyEye携手Simulink实现全数字协同仿真
- 【PAT】1001 害死人不偿命的(3n+1)猜想
- 垃圾回收算法_划重点 JVM G1 垃圾回收算法
- opencv (二十六)图像直方图匹配
- 新版捷兔云支付网站源码开源版 第三方支付源码 第四方支付源码 免签约支付源码
- 关于c++16进制字符串与ASCII字符串的相互转换
- regeneratorRuntime is not defined
- PJzhang:今天才搞清身份证、银行卡……的编码规则
- 英雄联盟全球总决赛历届冠军名单
- 摄氏度与华氏度相互转换
- 锐捷交换机处理环路问题
热门文章
- [RK3399][Android7.1] Audio中的MCLK时钟小结
- ORACLE ---注释,默认值,同义词
- 《Hadoop权威指南.大数据的存储与分析.第4版.修订版升级版》
- python 处理服务器响应数据包,Python如何解析RADIUS服务器数据包?
- 百亿美元估值的贝壳找房,值吗?
- Matlab中读取txt文件的几种方法
- PHP生成小程序带参太阳码报错解决方案(“errcode“:41030,“errmsg“:“invalid page rid: 61d3fd8b-173141e8-1360a9e5“)
- unity3d问题集 对Vector3.Lerp 插值的理解 - 转自蛮牛
- C语言经典编程题100例(41~60)
- 使用npm下载ElementUi文件