如何用Java统计英语长尾词频并实现降序排列?

2026-04-16 15:222阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计278个文字,预计阅读时间需要2分钟。

如何用Java统计英语长尾词频并实现降序排列?

javaimport java.io.BufferedReader;import java.io.FileReader;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;

gistfile1.txt

import java.io.BufferedReader; import java.io.FileReader; 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 Frequence { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new FileReader("F:/source.txt")); List lists = new ArrayList (); //存储过滤后单词的列表 String readLine = null; while((readLine = br.readLine()) != null){ String[] wordsArr1 = readLine.split(" "); //过滤出只含有字母的 [^a-zA-Z] 非单独字母 for (String word : wordsArr1) { if(word.length() != 0){ lists.add(word); } } } br.close(); Map wordsCount = new TreeMap (); //存储单词计数信息,key值为单词,value为单词数 for (String li : lists) { if(wordsCount.get(li) != null){ wordsCount.put(li,wordsCount.get(li) + 1); }else{ wordsCount.put(li,1); } } SortMap(wordsCount); } //按value的大小进行排序 public static void SortMap(Map oldmap){ ArrayList > list = new ArrayList >(oldmap.entrySet()); Collections.sort(list,new Comparator >(){ public int compare(Entry o1, Entry o2) { return o2.getValue().compareTo(o1.getValue()); //降序 } }); for(int i = 0; i

如何用Java统计英语长尾词频并实现降序排列?

本文共计278个文字,预计阅读时间需要2分钟。

如何用Java统计英语长尾词频并实现降序排列?

javaimport java.io.BufferedReader;import java.io.FileReader;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;

gistfile1.txt

import java.io.BufferedReader; import java.io.FileReader; 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 Frequence { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new FileReader("F:/source.txt")); List lists = new ArrayList (); //存储过滤后单词的列表 String readLine = null; while((readLine = br.readLine()) != null){ String[] wordsArr1 = readLine.split(" "); //过滤出只含有字母的 [^a-zA-Z] 非单独字母 for (String word : wordsArr1) { if(word.length() != 0){ lists.add(word); } } } br.close(); Map wordsCount = new TreeMap (); //存储单词计数信息,key值为单词,value为单词数 for (String li : lists) { if(wordsCount.get(li) != null){ wordsCount.put(li,wordsCount.get(li) + 1); }else{ wordsCount.put(li,1); } } SortMap(wordsCount); } //按value的大小进行排序 public static void SortMap(Map oldmap){ ArrayList > list = new ArrayList >(oldmap.entrySet()); Collections.sort(list,new Comparator >(){ public int compare(Entry o1, Entry o2) { return o2.getValue().compareTo(o1.getValue()); //降序 } }); for(int i = 0; i

如何用Java统计英语长尾词频并实现降序排列?