import java.util.Scanner; import java.util.HashMap; import java.util.Map; import java.util.ArrayList; import java.util.List; import java.util.Collections; import java.util.Comparator; // class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String str = sc.next(); System.out.println(getSort(str)); } } public static String getSort(String str) { String res = ""; Map<Character, Integer> map = new HashMap<Character, Integer>(); if (str.length() < 1 || str.length() > 1000) { System.out.println("你的输入不合法,请重新输入"); } else { for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); map.put(c, map.getOrDefault(c, 0) + 1); } List<Character> cl = new ArrayList<Character>(map.keySet()); Collections.sort(cl, (Comparator) (o1, o2) -> { Character ch1 = (Character) o1; Character ch2 = (Character) o2; if (map.get(ch1) > map.get(ch2)) { return -1; } else if (map.get(ch1) < map.get(ch2)) { return 1; } else { return ch1 - ch2; } }); for (Character ch : cl) { res = res + ch; } } return res; } }