Java統計單詞出現頻率

使用場景:統計單詞詞頻率
思路:使用HashMap的鍵值對特性,根據傳入的參數作爲鍵值,從Map中取對象,取到了則 + 1,未取到則置1。不斷循環下去。

代碼如下

方法一:

import java.util.*;
public class TestArgsWords {
  //private static final Integer ONE = new Integer(1);
  private static final int ONE = 1;
  public static void main(String args[]) {
    Map m = new HashMap();
    for (int i = 0; i < args.length; i++) {
      //Integer freq = (Integer) m.get(args[i]);

      int freq = (Integer) m.get(args[i]) == null ? 0 : (Integer) m.get(args[i]);
      //m.put(args[i],(freq == null? ONE : new Integer(freq.intValue() + 1)));
      m.put(args[i], freq==0 ? ONE : freq + 1);
    }
    System.out.println
        (m.size() + " distinct words detected:");
    System.out.println(m);
  }
}

方法二:

import java.util.*;
public class TestArgsWords {
  private static final int ONE = 1;
  public static void main(String args[]) {
    Map<String, Integer> m = new HashMap<String, Integer>();
    for (int i = 0; i < args.length; i++) {

      if(!m.containsKey(args[i])) {
        m.put(args[i], ONE);
      }
      else {
        int freq = m.get(args[i]);
        m.put(args[i], freq + 1);
      }

    }
    System.out.println
        (m.size() + " distinct words detected:");
    System.out.println(m);
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章