美文网首页
【编程练习】一段英语段落,统计每个单词有多少个,并按照统计数目倒

【编程练习】一段英语段落,统计每个单词有多少个,并按照统计数目倒

作者: 瓜哥1228 | 来源:发表于2018-05-14 14:27 被阅读9次
    package jayxigua.coding.pdd._20180508;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    
    /**
     * 问题描述:一段英语段落,统计每个单词有多少个,并按照统计数目倒序。
     * 技术点:map,entry,集合比较器
     * 难度:★★
     * 歌词提供:http://www.hjenglish.com/new/p1238922/
     * 参考:Map value排序 http://www.cnblogs.com/avivahe/p/5657071.html
     * 
     * @author jayxigua
     *
     */
    public class WordsCount {
    
        public WordsCount() {
            // TODO Auto-generated constructor stub
        }
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            String input = "Welcome to New York, welcome to New York Welcome to New York, it’s been waiting for you";
            String[] words = input.split(" ");
            System.out.println("words num is " + words.length);
            Map<String, Integer> wordMap = new HashMap<String, Integer>();
            for (String word : words) {
                Integer count = wordMap.get(word);
                if (count == null) {
                    wordMap.put(word, 1);
                } else {
                    wordMap.put(word, count + 1);
                }
            }
    
            List<Entry<String, Integer>> sortList = new ArrayList<Entry<String, Integer>>(wordMap.entrySet());
    
            Collections.sort(sortList, new Comparator<Map.Entry<String, Integer>>() {
                @Override
                public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
                    // TODO Auto-generated method stub
                    return o2.getValue() - o1.getValue();
                }
            });
    
            for (Entry<String, Integer> entry : sortList) {
                System.out.println("word =" + entry.getKey() + ", count=" + entry.getValue());
            }
    
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:【编程练习】一段英语段落,统计每个单词有多少个,并按照统计数目倒

          本文链接:https://www.haomeiwen.com/subject/razddftx.html