//有一个字符串"abcdeabcdabcaba",获取字符串中每一个字符出现的次数并输出,格式为"a(5)b(4)c(3)d(2)e(1)"
public class TreeMapDemo {
public static void main(String[] args) {
//键盘录入一个字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串");
String StringIn = sc.nextLine();
//定义一个TreeMap集合
TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
//把字符串转换为字符数组
char[] chs = StringIn.toCharArray();
//遍历字符数组
for(char ch : chs) {
//判断集合中是否有该字符对应的键,如果有,集合的值加1,如果没有,直接添加该键
if(!tm.containsKey(ch)) {
tm.put(ch, 1);
} else {
Integer i = tm.get(ch);
tm.put(ch,++i);
}
}
//定义字符缓冲区变量
StringBuilder sb = new StringBuilder();
//获取Map集合中所有的键和值
Set<Map.Entry<Character,Integer>> set = tm.entrySet();
for(Map.Entry<Character,Integer> me : set) {
Character ch = me.getKey();
Integer it = me.getValue();
//将键和值添加到字符缓冲区中
sb.append(ch).append('(').append(it).append(')');
}
System.out.println(sb);
}
} |
|