题解 HJ102| #字符统计#自定义排序相当典型的应用
字符统计
https://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0
import java.util.Scanner; import java.util.*; import java.util.stream.Collectors; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); char[] arr = in.nextLine().toCharArray(); Map<Character, Integer> map = new HashMap<>(); for (int i = 0; i < arr.length; i++) { if (map.keySet().contains(arr[i])) { Integer count = map.get(arr[i]); map.put(arr[i], ++count); } else { map.put(arr[i], 0); } } List<Map.Entry<Character, Integer>> list = map.entrySet().stream() .sorted((o1, o2) -> Character.compare(o1.getKey(), o2.getKey()) ).sorted((o1, o2) -> Integer.compare(o2.getValue(), o1.getValue()) ).collect(Collectors.toList()); for (Map.Entry<Character, Integer> entry : list) { System.out.print(entry.getKey()); } } }
自定义排序相当典型的应用