我们在文本操作时,经常需要用到词频统计,并对统计后的词频进行排序,然后输出。
以下是我写的一个供大家参考:

package com.qian;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
/** author:合肥工业大学 管院学院 钱洋 * email:1563178220@qq.com
*/
public class WordCount {public static void main(String args []) throws IOException {Hashtable<String, Integer>  wordCount = new Hashtable<String, Integer>();BufferedReader reader = new BufferedReader( new InputStreamReader( new FileInputStream( new File("E:\\钱洋个人\\预测数据\\文本合并\\user_content_combine")),"utf-8"));BufferedWriter Writer = new BufferedWriter( new OutputStreamWriter( new FileOutputStream( new File("E:\\钱洋个人\\预测数据\\wordcount\\user_content_count.txt")),"utf-8"));String s=null;int c=0;while ((s=reader.readLine())!=null) {String arry[] =s.split(" ");for (int i = 0; i < arry.length; i++) {if (!wordCount.containsKey(arry[i])) {wordCount.put(arry[i], Integer.valueOf(1));} else {wordCount.put(arry[i], Integer.valueOf(wordCount.get(arry[i]).intValue() + 1));}}}for (java.util.Map.Entry<String, Integer> j : wordCount.entrySet()) {String key = j.getKey();int value = j.getValue();Writer.append(key+" "+value+"\r\n");}//if the number of the word is 1,output the word and the number//将map.entrySet()转换成list  List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(wordCount.entrySet());  Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {  //降序排序  public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {  //return o1.getValue().compareTo(o2.getValue());  return o2.getValue().compareTo(o1.getValue());  }  });  for (Map.Entry<String, Integer> mapping : list) {  System.out.println(mapping.getKey() + ":" + mapping.getValue());  }  }}

Java实现词频统计(Wordcount)-Map或Hashtable的value排序相关推荐

  1. Java:词频统计程序

    词频统计程序(Java) 题目描述:        做一个词频统计程序,该程序具有以下功能:         基本要求:      (1)可导入任意英文文本文件      (2)统计该英文文件中单词数 ...

  2. java 文本词频统计_Java实现中文词频统计

    昨日有个中文词频统计的需求, 百度一番后, 发现一大堆标题党文章, 讲的与内容严重不符, 这里就简单记录下自己实现的流程吧! 与英文单词的词频统计不同, 中文的难点在于如何分词, 不过好在有许多优秀的 ...

  3. python词频统计完整步骤_python实现词频统计(wordcount)函数

    作为字典(key-value)的经典应用题目,单词统计几乎出现在每一种语言键值对学习后的必练题目,主要需求: 写一个函数wordcount统计一篇文章的每个单词出现的次数(词频统计).统计完成后,对该 ...

  4. 【Java】java测试--词频统计 ----IO流操作

    (1).新建文本文件data.txt (2)   随便输入一些英文单词,单词之间用 "空格"隔开 (3)   统计各个单词出现的次数. (4)对结果进行排序 a.按照次数进行降序 ...

  5. java 文本词频统计_java实现文本词频统计

    File f=new File(path); Mapmap=new HashMap<>(); Version matchVersion = Version.LUCENE_31; Analy ...

  6. 【作业】python——小说Walden的词频统计,并从高到低排序

    本文章环境为Pychram-python3.8 一·确定文件位置 确定Walden.txt文件位置 例如: 将Walden.txt与py代码文件放至同一文件夹 二·逐步前进 1. 打开文件 f=ope ...

  7. MapReduce实现改进版WordCount词频统计

    新手入门MapReduce实现改进版WordCount词频统计 一.实验任务要求 本实验是为了实现改进版的词频统计WordCount.要求根据所给的英文名著数据集和停用词表,统计英文名著数据集中词频, ...

  8. Java案例:词频统计

    目录 一.功能需求 二.实现思路 三.实现步骤 1.创建Java项目 - Java版词频统计

  9. 词频统计的java实现方法——第一次改进

    需求概要 原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 ...

最新文章

  1. Android Studio 1.0 苹果电脑安装配置
  2. 2018 中国准独角兽 TOP 50 夏榜发布!146 家投资机构、227 家企业参与
  3. 详解django三种文件下载方式
  4. HBase的列族式存储介绍
  5. Google Webmaster Tools 结构化数据标记使用入门指南
  6. tomcat ---- web.xml
  7. python爬取京东数据加载失败_Python爬取京东商品数据
  8. php+不要科学记数,php怎么设置不用科学计数法?
  9. CVPR 2022数据集汇总|包含目标检测、多模态等方向
  10. C#如何实现一个简单的流程图设计器
  11. 畅聊Java异步编程
  12. 直播平台,直播TV介绍,对比,下载等相关信息
  13. sql 2005 用户 sa 登录失败
  14. 卷积神经网络 —— 图像识别与深度学习
  15. TI AWR1642学习笔记7 TSW1400采集原始数据
  16. 数据分析师基本技能——SQL
  17. 坐标西安 面试中电后端Java岗 被面试官狂问mybatis
  18. 麒麟V10SP1高级服务器版本操作系统离线安装docker容器技术
  19. 入手评测 海信65e7g pro和雷鸟65r645c 选哪个
  20. 有一篇文章,共有3行文字,每行有最多80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

热门文章

  1. Mac OSX 下高效安装 homebrew 及完美避坑姿势
  2. TypeScript入门教程 之 箭头函数
  3. TypeScript入门教程 之 for ... of 与 for ... in
  4. 仿微信选取图片发表朋友圈功能
  5. 函数式编程 -- 函数是一等公民、高阶函数、闭包
  6. 【Java】百钱买百鸡问题
  7. 漫画 |《程序员十二时辰》,内容过于真实 ...
  8. 【安卓开发】Webview简单使用
  9. C#LeetCode刷题-排序
  10. Linux中SDIO命令,Linux MMC/SD/SDIO体系结构