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++编程语言来实现一个单词字母频率统计程序,该程序可以读取任意文档并生成字母频率统计结果,同时利用二叉搜索树(BST)结构进行高效的数据存储和搜索。 首先,让我们了解C++的...
通过分析上述代码,我们不仅了解了C++中使用`map`进行文本单词频率统计的基本方法,也学习了如何利用C++的文件流处理功能读取外部文件,以及如何使用迭代器遍历`map`容器输出结果。这些知识对于从事文本处理、数据...
在IT领域,文本分析是一项重要的任务...总之,统计文档中每个单词的出现次数是文本分析的基础,通过Java编程可以实现这一功能,结合合适的分词工具和数据结构,我们可以有效地完成词频统计,并根据需求进行排序和输出。
在这个词频统计项目中,Map可以用来存储单词作为键(key),每个单词出现的频率作为值(value)。例如,我们可以使用HashMap或TreeMap,前者基于哈希表提供快速访问,后者则按照键的自然顺序排序。 List接口表示一...
最后,我们可以通过遍历`wordCount`Map,输出每个词及其频率,从而得到完整的词频统计结果。 此外,如果你需要进行二次开发,例如添加自定义词典或调整分词策略,可以参考IKAnalyzer的源码,了解其内部实现。IK...
以上就是实现随机数生成和频率统计的基本步骤。如果你的程序是按照这个逻辑编写的,那么压缩包内的文件可能包含以下内容:源代码文件(如`RandomFrequency.java`)、测试数据(可能用于验证程序功能)、或者是程序的...
标题 "统计单词在文章中出现频率" 描述的是一个C++编程任务,目的是设计并实现一个程序,能够读取一个包含英文文章的文本文件,分析其中的单词,并统计每个单词出现的次数。最终,程序会将这些信息写入另一个文件,...
根据提供的信息,我们可以深入探讨如何使用Hadoop MapReduce框架实现找出文本中出现频率最高的前N个词的问题。这里主要关注的是使用新API并通过多Job级联的方式来实现这一目标。 ### 一、理解问题 首先,我们需要...
整个程序的实现思路清晰,有效地统计了文件中单词的出现频率。但是,它没有考虑标点符号和单词边界的问题,例如,连续的单词可能被错误地合并成一个。为了更准确地统计,可以改进程序,在构建单词时添加判断,如检查...
python实现mapreduce词频统计 执行方式:打开cmd命令,cd到代码所在文件夹,输入python wordcout_map.py > words.txt | sort | python wordcout_reduce.py执行
在本案例中,我们将探讨如何使用C++中的标准模板库(STL)容器`vector`和`map`来实现一个基于Markov模型的文本生成器。 首先,我们需要理解`vector`和`map`在实现中的作用。`vector`是一个动态数组,可以方便地进行...
6. **词频统计**:核心算法部分,通常会使用哈希表(如`std::unordered_map`)来存储每个单词及其出现次数,因为哈希表提供O(1)的查找和插入时间复杂度。遍历文本,对每个单词进行计数,并更新哈希表。 7. **结果...
在这个场景中,我们将讨论如何使用Hadoop的MapReduce来实现词统计和列式统计。 **一、MapReduce原理** MapReduce的工作流程主要包括三个主要阶段:Map、Shuffle(排序)和Reduce。在Map阶段,输入数据被分割成多个...
3. **统计概率**:计数器可以使用HashMap来实现,其中键是字符,值是对应的计数值。统计完成后,计算总字符数,并将每个字母的计数除以总数得到概率。 ```java Map, Integer> counts = new HashMap(); // ... 更新...
在本文中,我们将深入探讨如何使用Qt C++框架来实现一个高效能的字数统计程序。这个程序能够快速地处理大量的文本数据,如1000多万字,并在十几秒内完成统计工作。对于初学者来说,理解并掌握这个过程将有助于提升在...
例如,如果上下文是"hello",那么`map`可能会存储"hello"后面出现的字符"world"、"there"等及其对应的频率。 实现步骤如下: 1. **预处理**:读取原始文本,将文本分割成单词或字符序列(通常称为n-gram,例如2-...
在本项目中,"精选_使用C++实现的单词检索统计系统_源码打包" 提供了一个基于C++编程语言的单词检索和统计系统。这个系统对于理解和实践文本处理、字符串操作以及数据结构和算法应用具有重要的教育价值。以下是这个...
在C++编程中,读取文本文件并进行...通过以上步骤,你可以实现一个C++程序,从硬盘读取文本文件,统计单词频率,并能查询特定单词的出现次数。这个过程涵盖了文件操作、字符串处理、数据结构应用等多个核心C++知识点。