Java二叉搜索树和哈希表

标签 java hashtable binary-search-tree

对于我的类(class)作业(二叉搜索树和哈希表),我想制作一个java程序来扫描文本文件并根据最常见的单词对单词进行排序。像最流行的标签之类的东西。

示例: 1. 扫描文件。 2.列出出现多次的单词

总字数
香蕉10个
周日 7
海3

问题 1. 如何扫描文本文件?
问题2.如何检查文本文件中的重复项并编号?
问题3.如何打印出像我的示例中按顺序出现超过1次的单词?

我的编程能力不强。

最佳答案

由于这是类(class)作业,我不会向您提供完整的详细信息,但我会尽力为您指出一个可能的方向:

  1. Google 如何从文本文件中读取单词(这是一个非常常见的问题,您应该能够找到大量示例)
  2. 使用例如 hashmap(string 到 int)来计算单词数:如果单词尚未在 hashmap 中,则将其重数添加为 1;如果它在那里,则增加计数(您可能需要对单词进行一些预处理,例如,如果您想忽略大写字母)
  3. 从 HashMap 中过滤重数大于 1 的单词
  4. 根据字数对过滤后的字词列表进行排序
<小时/>

一些非常高级的实现(有许多开放式结局:))

List<String> words = readWordsFromFile();

Map<String, Integer> wordCounts = new HashMap<>();
for(String word : words) {
    String processedWord = preprocess(word);
    int count = 1;
    if (wordCounts.containsKey(processedWord)) {
        count = wordCounts.get(processedWord)+1;
    }
    wordCounts.put(processedWord, count);
}

removeSingleOccurences(wordCounts); 
List<String> sortedWords = sortWords(wordCounts);

关于Java二叉搜索树和哈希表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16983200/

相关文章:

java - 无法为连接 URL '' : Tomcat + MySQL + Spring MVC 创建类 'null' 的 JDBC 驱动程序

java - 向 Linux 大师们致敬。权限异常

c# - c++调用带有Hashtable参数的c#DLL

algorithm - 给定树的二叉搜索树前、中、后顺序遍历

c++ - 数组 BST 的插入排序如何工作?

java - 将二叉树存储在数组中

java - 找到最接近确定的乘积值的值

java - 如何通过标签获取WebElement Button

memory - 为什么哈希表比其他数据结构占用更多内存?

Bash:将关联数组发送到函数