Java 词频统计

来源:互联网 发布:php查询降序排序 编辑:程序博客网 时间:2024/05/21 10:52
import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.util.TreeMap;public class WordCount {public static void main(String [] args) throws IOException{BufferedReader br = new BufferedReader(new FileReader("D:/bbb.txt"));List<String> word = new ArrayList<String>();String read = null;while((read = br.readLine())!=null){    String[] wordsArr1 = read.split("[^a-zA-Z]");    for(String words : wordsArr1)    word.add(words);}br.close();Map<String, Integer> wordsCount = new TreeMap<String,Integer>(); for (String li : word) {                if(wordsCount.get(li) != null){                    wordsCount.put(li,wordsCount.get(li) + 1);                }else{                    wordsCount.put(li,1);                }                }      SortMap(wordsCount);} public static void SortMap(Map<String,Integer> oldmap){                     ArrayList<Map.Entry<String,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(oldmap.entrySet());                        Collections.sort(list,new Comparator<Map.Entry<String,Integer>>(){                @Override                public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {                    return o2.getValue() - o1.getValue();  //降序                }            });                        for(int i = 0; i<list.size(); i++){                System.out.println(list.get(i).getKey()+ ": " +list.get(i).getValue());            }           }        }