题解 | #字符统计#--J8-map按值降序后按key升序
字符统计
https://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.nextLine();
char[] chrs = str.toCharArray();
Map<Character, Integer> count = new HashMap<>();
for (char chr : chrs) {
if (count.containsKey(chr)) {
count.put(chr, count.get(chr) + 1);
} else {
count.put(chr, 1);
}
}
// java8-map按值降序然后按key升值排序
count.entrySet().stream()
.sorted(Map.Entry.<Character, Integer>comparingByValue()
.reversed().thenComparing(Map.Entry :: getKey))
.map(Map.Entry :: getKey).forEach(item -> System.out.print(item.charValue()));
}
}
查看7道真题和解析