题解 | #字符统计#
字符统计
https://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
//对于Arrays.sort(int[] var0)使用的是快排,所以是不稳定的.
//对于Collections.sort(List elements)使用的是归并排序,是稳定的
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
Map<Character, Integer> treemap = new TreeMap<>();
String s = in.nextLine();
for(int i=0 ; i<s.length() ; ++i){
treemap.put(s.charAt(i), treemap.getOrDefault(s.charAt(i), 0)+1);
}
List<Map.Entry<Character, Integer>> list = new ArrayList<>(treemap.entrySet());
Collections.sort(list, new Comparator<Map.Entry<Character, Integer>>(){
public int compare(Map.Entry<Character, Integer> m1, Map.Entry<Character, Integer> m2){
return (m2.getValue()-m1.getValue());
}
});
for(int i=0 ; i<list.size() ; ++i){
System.out.print(list.get(i).getKey());
}
}
}