`
cowboy_bebop
  • 浏览: 111667 次
  • 性别: 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
 
分享到:
评论

相关推荐

    单词字母频率统计.单词字母频率统计

    这里我们主要探讨“单词字母频率统计”的概念、实现方法以及它在不同场景下的应用。 首先,理解“单词字母频率统计”:这是一种统计技术,用于计算一个给定文本中每个字母出现的频次。这种统计可以帮助我们了解文本...

    C++双向链表统计文章单词出现频率

    在这个特定的项目中,“C++双向链表统计文章单词出现频率”是一个涉及数据结构和算法的应用,目标是实现一个程序来分析文本文件,计算并显示文章中每个单词出现的次数。双向链表作为数据结构的核心,其特点是每个...

    C++单词字母频率统计程序

    在本文中,我们将深入探讨如何使用C++编程语言来实现一个单词字母频率统计程序,该程序可以读取任意文档并生成字母频率统计结果,同时利用二叉搜索树(BST)结构进行高效的数据存储和搜索。 首先,让我们了解C++的...

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

    通过分析上述代码,我们不仅了解了C++中使用`map`进行文本单词频率统计的基本方法,也学习了如何利用C++的文件流处理功能读取外部文件,以及如何使用迭代器遍历`map`容器输出结果。这些知识对于从事文本处理、数据...

    统计一篇文档中每个单词出现的次数,频率

    在IT领域,文本分析是一项重要的任务...总之,统计文档中每个单词的出现次数是文本分析的基础,通过Java编程可以实现这一功能,结合合适的分词工具和数据结构,我们可以有效地完成词频统计,并根据需求进行排序和输出。

    Java Map、List、Set Swing 英文词频统计

    在这个词频统计项目中,Map可以用来存储单词作为键(key),每个单词出现的频率作为值(value)。例如,我们可以使用HashMap或TreeMap,前者基于哈希表提供快速访问,后者则按照键的自然顺序排序。 List接口表示一...

    IKAnalyzer 实现分词 词频统计

    最后,我们可以通过遍历`wordCount`Map,输出每个词及其频率,从而得到完整的词频统计结果。 此外,如果你需要进行二次开发,例如添加自定义词典或调整分词策略,可以参考IKAnalyzer的源码,了解其内部实现。IK...

    (Java语言实现编写的程序)功能为:随机产生数并统计频率

    以上就是实现随机数生成和频率统计的基本步骤。如果你的程序是按照这个逻辑编写的,那么压缩包内的文件可能包含以下内容:源代码文件(如`RandomFrequency.java`)、测试数据(可能用于验证程序功能)、或者是程序的...

    统计单词在文章中出现频率

    标题 "统计单词在文章中出现频率" 描述的是一个C++编程任务,目的是设计并实现一个程序,能够读取一个包含英文文章的文本文件,分析其中的单词,并统计每个单词出现的次数。最终,程序会将这些信息写入另一个文件,...

    基于hadoop实现输出出现频率最高的20个词

    根据提供的信息,我们可以深入探讨如何使用Hadoop MapReduce框架实现找出文本中出现频率最高的前N个词的问题。这里主要关注的是使用新API并通过多Job级联的方式来实现这一目标。 ### 一、理解问题 首先,我们需要...

    统计单词出现频率代码

    整个程序的实现思路清晰,有效地统计了文件中单词的出现频率。但是,它没有考虑标点符号和单词边界的问题,例如,连续的单词可能被错误地合并成一个。为了更准确地统计,可以改进程序,在构建单词时添加判断,如检查...

    python 实现mapreduce词频统计

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

    利用Markov算法根据原始文本的统计规律生成随机文本,利用容器vector, map实现。包含详细的注释和测试数据.rar

    在本案例中,我们将探讨如何使用C++中的标准模板库(STL)容器`vector`和`map`来实现一个基于Markov模型的文本生成器。 首先,我们需要理解`vector`和`map`在实现中的作用。`vector`是一个动态数组,可以方便地进行...

    MFC的英文词频统计

    6. **词频统计**:核心算法部分,通常会使用哈希表(如`std::unordered_map`)来存储每个单词及其出现次数,因为哈希表提供O(1)的查找和插入时间复杂度。遍历文本,对每个单词进行计数,并更新哈希表。 7. **结果...

    mapreduce在hadoop实现词统计和列式统计

    在这个场景中,我们将讨论如何使用Hadoop的MapReduce来实现词统计和列式统计。 **一、MapReduce原理** MapReduce的工作流程主要包括三个主要阶段:Map、Shuffle(排序)和Reduce。在Map阶段,输入数据被分割成多个...

    用JAVA语言统计文本文件中字母出现的频率

    3. **统计概率**:计数器可以使用HashMap来实现,其中键是字符,值是对应的计数值。统计完成后,计算总字符数,并将每个字母的计数除以总数得到概率。 ```java Map, Integer&gt; counts = new HashMap(); // ... 更新...

    qt c++ 实现高效率的统计字数

    在本文中,我们将深入探讨如何使用Qt C++框架来实现一个高效能的字数统计程序。这个程序能够快速地处理大量的文本数据,如1000多万字,并在十几秒内完成统计工作。对于初学者来说,理解并掌握这个过程将有助于提升在...

    利用Markov算法根据原始文本的统计规律生成随机文本,利用容器vector, map实现。包含详细测试数据.zip

    例如,如果上下文是"hello",那么`map`可能会存储"hello"后面出现的字符"world"、"there"等及其对应的频率。 实现步骤如下: 1. **预处理**:读取原始文本,将文本分割成单词或字符序列(通常称为n-gram,例如2-...

    精选_使用C++实现的单词检索统计系统_源码打包

    在本项目中,"精选_使用C++实现的单词检索统计系统_源码打包" 提供了一个基于C++编程语言的单词检索和统计系统。这个系统对于理解和实践文本处理、字符串操作以及数据结构和算法应用具有重要的教育价值。以下是这个...

    C++读取一文本文件并进行单词统计结果

    在C++编程中,读取文本文件并进行...通过以上步骤,你可以实现一个C++程序,从硬盘读取文本文件,统计单词频率,并能查询特定单词的出现次数。这个过程涵盖了文件操作、字符串处理、数据结构应用等多个核心C++知识点。

Global site tag (gtag.js) - Google Analytics