java - 获取java中句子中最常用的两个单词

标签 java dictionary count

如何获取句子中最常用的两个单词,例如在计算所有单词出现的总数后,它还应该显示两个最常用的单词

import javax.swing.*;
import java.util.*;
import java.awt.event.*;
import java.util.Map;
import java.util.HashMap;

public class Tokenizer

{
  public static void main(String[] args)
  {
    int index = 0; int tokenCount; int i =0;
    Map<String,Integer> wordCount = new HashMap<String,Integer>();
    Map<Integer,Integer> letterCount = new HashMap<Integer,Integer>();
    String message="The Quick brown fox jumps over the lazy brown dog";

    StringTokenizer string = new StringTokenizer(message);


    tokenCount = string.countTokens();
    System.out.println("Number of tokens = " + tokenCount);
    while (string.hasMoreTokens()) { 
          String word = string.nextToken().toLowerCase();
          Integer count = wordCount.get(word);
          Integer lettercount = letterCount.get(word);

          if(count == null) { 
          wordCount.put(word, 1);
        }
        else { 
          wordCount.put(word, count + 1);
        }
     }
    for (String words : wordCount.keySet())
        {System.out.println("Word : " +  words + " has count :" +wordCount.get(words));

    }
 }

最佳答案

遍历 HashMap,然后跟踪最高计数。

int first, second;

first = second = Integer.MIN_VALUE;

String firstWord, secondWord;

for (Map.Entry<String, Integer> entry : map.entrySet())
{

   int count = entry.getValue();
   String word = entry.getKey();

    if (count > first)
    {
       second = first;
       secondWord = firstWord;
       first = count;
       firstWord = word;
    }
    else if (count > second && count != first)
    {
      second = count;
      secondWord = word;
    }
}

System.out.println(firstWord + " " + first);
System.out.println(secondWord + " " + second);

关于java - 获取java中句子中最常用的两个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33750489/

相关文章:

sql - SQL 字典表是否应该有 IDENTITY 列

r - map() 中是否有 "next"等效项

java - 如何处理输入?

java - 我将如何在 Java Regex 中执行此操作?

Java Map<Integer, HashMap<String, String>>

python - 如何计算列表中元素的数量?

python - 计算在 Selenium Python 中打开的选项卡数量

mysql - 多列的不同计数

java - Graphics/JPanel 尺寸不是以像素为单位测量的吗?

java - 如何在实现可运行的两个子类之间共享一个变量