単語の出現回数を数え、並べ替えます

統計

统计相同单词的次数
//使用map集合进行存储
String s="Day by Day";
Map<String,Integer> map=new HashMap<String,Integer>();
StringTokenizer tokenizer=new StringTokenizer(s);
int count;//记录次数
String word;//单个单词
while(tokenizer.hasMoreTokens()){
    
    
    word=tokenizer.nextToken(" ");
    if(map.containsKey(word)){
    
    
        //拿到之前存在map集合中该单词的次数
        count=map.get(word);
        map.put(word, count+1);
    }else{
    
    
        map.put(word, 1);
    }
}
Set<Entry<String, Integer>> entrySet = map.entrySet();
for (Entry<String, Integer> entry : entrySet) {
    
    
    System.out.println(entry.getKey()+"-"+entry.getValue());
}
输出:
by-1
Day-2

ソート

如何进行排序
使用Collections包装类。它包含有各种有关集合操作的静态多态方法。

//可根据指定比较器产生的顺序对指定列表进行排序。
Collections.sort(List<T> list, Comparator<? super T> c)
示例如下:

//以上实例中的map集合为例   将map集合的每一项添加进list集合中
List<Map.Entry<String, Integer>> infos = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
Collections.sort(infos, new Comparator<Map.Entry<String, Integer>>() {
    
    
    public int compare(Map.Entry<String, Integer> o1,
        Map.Entry<String, Integer> o2) {
    
    
        //前者-后者  升序         后者-前者  降序
        return (o2.getValue() - o1.getValue());
    }
});
输出:
Day-2
by-1

おすすめ

転載: blog.csdn.net/qq_45783660/article/details/114637665