java实现文件单词频率统计 topN top K
java 实现单词计数.top N
思路
- 先统计每个单词出现的个数
- 利用 TreeSet 的自动排序的功能
上代码
- wordcount
public void wordCount() {
String route = "青岛路 青岛路 济阳路口东 济南路 宴坡路 ";
Map<String, Integer> map = new HashMap<String, Integer>();
StringTokenizer st = new StringTokenizer(route, " ");
while (st.hasMoreTokens()) {
String letter = st.nextToken();
int count;
if (map.get(letter) == null) {
count = 1;
} else {
count = map.get(letter).intValue() + 1;
}
map.put(letter, count);
}
Set<StationEntity> set = new TreeSet<StationEntity>();
for (String word : map.keySet()) {
set.add(new StationEntity(word, map.get(word)));
System.out.println("word" + word + ":" + map.get(word));
}
System.out.println(" 输出形式 --");
for (Iterator<StationEntity> it = set.iterator(); it.hasNext(); ) {
StationEntity station = it.next();
System.out.println(station.getName() + "=" + station.getCount());
System.out.println("station"+station+":");
}
}
2.StationEntity
package com.dk.route;
/**
* Created by zzy on 15/11/28.
*/
public class StationEntity implements Comparable<StationEntity>{
private String name ;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private int count;
public StationEntity(String name,int count){
this.name = name;
this.count = count;
}
public int compareTo(StationEntity o) {
int cmp = count - o.count;
StationEntity s = (StationEntity)o ;
return cmp ==0 ?name.compareTo(o.name):-cmp;
}
}
3.运行结果

java实现文件单词频率统计 topN top K的更多相关文章
- 【学习笔记】C#中HashTable和快速排序的用法,从单词频率统计小程序写起
先瞎扯点别的.进入这个神圣的地方总需要些鞭策,阿西巴,我是被鞭策进来摆摊的程序猿.软件工程老师说,写程序,发博客,就来博客园.这是个号召力很强的口号.最近看网络营销 搜索引擎优化的书多一些,只能说王老 ...
- 统计单词频率--map
问题描述: 输入一个单词列表,每行一个单词,统计单词出现的频率 思路: 主要是使用c++中的map容器.map实质上是一个二叉查找树,可以做到插入.删除.查询,平均查询时间在O(logn).n为map ...
- 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合
package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...
- 统计一段文章的单词频率,取出频率最高的5个单词和个数(python)
练习题:统计一段英语文章的单词频率,取出频率最高的5个单词和个数(用python实现) 先全部转为小写再判定 lower() 怎么判定单词? 1 不是字母的特殊字符作为分隔符分割字符串 (避免特殊字符 ...
- java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量
package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...
- Java实现 蓝桥杯VIP 算法提高 不同单词个数统计
算法提高 不同单词个数统计 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数.例如:对于句子"one little t ...
- 使用Scala实现Java项目的单词计数:串行及Actor版本
其实我想找一门“具有Python的简洁写法和融合Java平台的优势, 同时又足够有挑战性和灵活性”的编程语言. Scala 就是一个不错的选择. Scala 有很多语言特性, 建议先掌握基础常用的: ...
- Hadoop基础-Map端链式编程之MapReduce统计TopN示例
Hadoop基础-Map端链式编程之MapReduce统计TopN示例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.项目需求 对“temp.txt”中的数据进行分析,统计出各 ...
- Spark学习笔记1——第一个Spark程序:单词数统计
Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...
随机推荐
- python面相对象进阶
1. 类的成员 python 类的成员有三种:字段.方法.属性 字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段 属于对象,只有对象创建 ...
- 一文彻底了解join的各种用法
表a 表b a1 a2 b1 b2 a01 张三 a02 数学 a02 ...
- Information retrieval信息检索
https://en.wikipedia.org/wiki/Information_retrieval 信息检索 (一种信息技术) 信息检索(Information Retrieval)是指信息按一定 ...
- Eclipse Maven Web工程报错:java.lang.ClassNotFoundException: ContextLoaderListener
原因:打包项目时没有把相关Maven依赖包打到WEB-INF/lib下,正常情况下,会生成lib目录并把工程的所有依赖jar包都部署到该目录下. 解决:右键点击项目--选择Properties,选择D ...
- 监控web页面的性能指标。
监控一个web页面的性能也是非常重要的,h5提供了一个非常好的属性来监控: window.performance 它有两个成员: navigation (一个叫做performanceNavi ...
- json跨域
很有意思的两种连接 ,效果相同. 不同之处: aehyok({"result":"我是远程js带来的数据"}); <script type="t ...
- IOS: 模型面数控制
你可以先试试 生成之后在虚拟机上运行一下就知道了 不过关键也看手机的好坏 場景 人物 面數的話越少越好(但要保持模型的完整) 貼圖解析度也不要太大 資料越少越好 //================ ...
- Linux基础整理-软件的安装与卸载
redhat/centos/fedora/suse系列: 摘自网址:http://www.runoob.com/linux/linux-yum.html yum( Yellow dog Updater ...
- 正则表达式分组()、不捕获(?:)和断言(?<=)详解
分组 分组在正则中用()表示,根据小菜理解,分组的作用有两个: 1.将某些规律看成是一组,然后进行组级别的重复,可以得到意想不到的效果. 2.分组之后,可以通过后向引用简化表达式(\1 或者$1). ...
- Spring的Bean之Bean的基本概念
从前面我们知道spring其实就是一个大型的工厂,而Spring容器中的Bean就是该工厂的产品.对于Spring容器能够生产那些产品,则取决于配置文件中配置. 对于我们而言,我们使用Spring框架 ...