对文本单词进行技数,并倒序列出计数统计

请编写一个程序,对一个文本中出现的单词进行计数,并且按单词顺序倒序列出计数列表。示例:

输入:aa bb cc aa cc dd ee aa

输出:

ee 1
dd 1
cc 2
bb 1
aa 3

 

编程代码如下:

import java.util.Arrays;
import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;

public class Test{

    public static void main(String[] args) {
        String string = "aa  bb  cc  aa  cc  dd  ee  aa";
        String[] arr = string.split("\\s+");
     //   System.out.println(Arrays.toString(arr));
        Map<String,Integer> map = new TreeMap<String, Integer>(
                new Comparator<String>() {
                    public int compare(String o1, String o2) {
                        return o2.compareTo(o1);
                    }
        } );

        for (String str : arr) {
            if(map.containsKey(str)) {
                int count = map.get(str);
                map.put(str, count+1);
            }  else {
                map.put(str, 1);
            }
        }

        //遍历map
        for (Map.Entry<String,Integer> entry : map.entrySet()) {
            System.out.println(entry.getKey() + "  " + entry.getValue());
        }

    }

}

  

打印输出:

ee    1
dd    1
cc    2
bb    1
aa    3

  

posted @ 2019-10-21 12:14  loytime  阅读(223)  评论(0编辑  收藏  举报