码迷,mamicode.com
首页 > 其他好文 > 详细

Comparable与Comparator (2)

时间:2021-01-06 12:31:58      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:test   nta   received   main   hashmap   word   map   period   frequency   

统计单词频率

import java.util.*;

public class test {
    public static void main(String[] args) {
        final String speech = "It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us, we were all going direct to Heaven, we were all going direct the other way—in short, the period was so far like the present period, that some of its noisiest authorities insisted on its being received, for good or for evil, in the superlative degree of comparison only.";
        wordFrequencySort(speech);
    }

    public static void wordFrequencySort(String speech) {
        String[] strArr = speech.split("\\W+");
        Map<String, Integer> map = new HashMap<>(speech.length());
        for (String s : strArr) {
            if (map.containsKey(s)) {
                map.put(s, map.get(s) + 1);
            } else {
                map.put(s, 1);
            }
        }

        List<Map.Entry<String, Integer>> entryList = new ArrayList<>(map.entrySet());
        Collections.sort(entryList, new valueComp());

        // display the results according to the word frequency
        for (Map.Entry<String, Integer> entry : entryList) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

class valueComp implements Comparator<Map.Entry<String, Integer>> {
    @Override
    public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
        return o2.getValue() - o1.getValue();
    }
}

Comparable与Comparator (2)

标签:test   nta   received   main   hashmap   word   map   period   frequency   

原文地址:https://www.cnblogs.com/maverickos/p/14227162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!