`
cowboy_bebop
  • 浏览: 110405 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

使用Map来实现频率统计

    博客分类:
  • J2SE
 
阅读更多

import java.util.HashMap;
import java.util.Map;

/**
 * 频率统计
 * @author Administrator
 *
 */
public class FrequencyCount_11_13<T> {

	/**Map的key是需要统计的值,value是个数**/
	private Map<T, Integer> map = new HashMap<T, Integer>();
	
	/**将统计数值一键值对形式存放在map中**/
	public void statistics(T t) {
		map.put(t, map.get(t) == null ? 1 : map.get(t) + 1);
	}
	
	/**以键值对的形式输出如:关键字-出现的个数**/
	public void getAllStatistics() {
		System.out.println(map);
	}
	
	/**获取所有的关键字**/
	public void getAllKeys() {
		System.out.println(map.keySet());
	}
	
	/**获取指定关键字出现的频率**/
	public void getKeyStatistics(T t) {
		System.out.println(t + "出现的次数为:" + map.get(t) == null ? 0 : map.get(t)); 
	}
	
	//测试
	public static void main(String[] args) {
		String test = "小明大丑男046KAK大丑男DNAS60lge";
		FrequencyCount_11_13<Character> frequencyCount = new FrequencyCount_11_13<Character>();
		for(int i=0;i<test.toCharArray().length;i++) {
			frequencyCount.statistics(test.toCharArray()[i]);
		}
		frequencyCount.getAllStatistics();
		frequencyCount.getAllKeys();
		frequencyCount.getKeyStatistics('K');
	}
}

 运算结果:

{D=1, g=1, 大=2, e=1, 明=1, A=2, 丑=2, 男=2, l=1, N=1, K=2, 小=1, 0=2, 6=2, S=1, 4=1}
[D, g, 大, e, 明, A, 丑, 男, l, N, K, 小, 0, 6, S, 4]
2
 
分享到:
评论

相关推荐

    Java词频统计算法(使用单词树)

    为了统计词汇出现频率,最简单直接的做法是另外建一个Map:key是单词,value是次数。将文章从头读到尾,读到一个单词就到Map里查一下,如果查到了则次数加一,没查到则往Map里一扔。这样做虽然代码写起来简单,但...

    统计文本单词频率(c++实现)

    统计文本单词频率,使用了STL里的map。

    python 实现mapreduce词频统计

    python实现mapreduce词频统计 执行方式:打开cmd命令,cd到代码所在文件夹,输入python wordcout_map.py &gt; words.txt | sort | python wordcout_reduce.py执行

    利用快速排序及multimap统计文件频率靠前的单词

    本程序用c++标准库中的快速排序算法以及容器map和multimap实现了对文件中出现频率靠前的单词进行了统计,至于文件大小取决于你机器所剩的内存数,如果文件数据时海量的(上亿)则本程序可能不适合,需要按照海量数据...

    大数据实验四-MapReduce编程实践

    使用MapReduce实现多个文本文件中WordCount词频统计功能,实验编写Map处理逻辑、编写Reduce处理逻辑、编写main方法。 二.实验目的 1、通过实验掌握基本的MapReduce编程方法。 2、实现统计HDFS系统中多个文本文件中...

    计算中文英文熵C++

    用c++实现汉字和英文熵的计算,给出中英文文档,用Map统计其频率。

    GEE训练-如何确定影像数据集多个指定时间范围的影像数量(sentinel-1数据为例)含全部代码.pdf

    这里我们用map函数来实现循环遍历指定数据数量统计分析。 数据集 Sentinel-1是欧洲空间局(ESA)的一颗雷达卫星,用于进行地表观测。它的主要任务是提供高性能的雷达成像数据,用于监测地球表面的变化情况,例如...

    python统计文章中单词出现次数实例

    做单词词频统计,用字典无疑是最合适的数据类型,单词作为字典的key, 单词出现的次数作为字典的 value,很方便地就记录好了每个单词的频率,字典很像我们的电话本,每个名字关联一个电话号码。 下面是具体的实现...

    ist的matlab代码-uebung08:练习08

    ),您可以使用著名人物的示例来计算有关推文的统计信息。 这项任务的目的 首先,逐步将推文( String s)编入索引,以计算哪个单词出现的频率。 基于此统计信息,现在可以创建迭代器以便使用 整个词汇(按字母顺序...

    面向对象技术与UML课件及源代码-by 南邮-陈杨

    14.1字符频率统计软件 14.1.1软件功能简介 14.1.2重要技术 14.1.3项目结构 14.1.4代码编写 14.1.5思考题 14.2文本翻译软件 14.2.1软件功能简介 14.2.2重要技术 14.2.3项目结构 14.2.4代码编写 14.2.5思考...

    Spring面试题

    3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2. ...

    华为编程开发规范与案例

    1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能正常实现等严重问题; 接口类问题(B类)-指设计、编码中出现的函数和...

Global site tag (gtag.js) - Google Analytics