最终输出格式为 a(5)b(3)z(2
时间: 2024-09-24 16:27:55 浏览: 25
易语言MD5加密源码.7z
针对这个问题,可以使用Java中的HashMap来实现。具体步骤如下:
1. 首先创建一个HashMap<Character, Integer>,用于存储每个字符出现的次数。
2. 遍历字符串中的每个字符,如果该字符已经在HashMap中出现过,则将其对应的值加1;否则将该字符加入HashMap中,并将其对应的值设为1。
3. 将HashMap中的键值对按照值的大小进行降序排序,可以使用Java 8中的Stream API来实现。
4. 最后按照指定格式输出每个字符及其出现次数。
代码如下:
```
String str = "abcasdqwe";
HashMap<Character, Integer> map = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (map.containsKey(c)) {
map.put(c, map.get(c) + 1);
} else {
map.put(c, 1);
}
}
List<Map.Entry<Character, Integer>> list = new ArrayList<>(map.entrySet());
list.sort(Map.Entry.comparingByValue(Comparator.reverseOrder()));
StringBuilder sb = new StringBuilder();
for (Map.Entry<Character, Integer> entry : list) {
sb.append(entry.getKey()).append("(").append(entry.getValue()).append(")");
}
String result = sb.toString();
System.out.println(result);
```
阅读全文