对文本单词进行技数,并倒序列出计数统计
请编写一个程序,对一个文本中出现的单词进行计数,并且按单词顺序倒序列出计数列表。示例:
输入: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