要求:
已知字符串"aabccdeefbbacddeff"
如何在控制台输出a(3)b(3)c(3)d(3)e(3)f(3)形式
思路:
利用TreeMap,遍历字符串,将每一字符当作键看,若TreeMap中无
此键,添加该键,并将其值置为1,若有,值加一并且覆盖原键值对,
最后利用缓冲区输出
主要代码如下:
TreeMap<Character,Integer> tm = new TreeMap();
String string= "aabccdeefbbacddeff";
char[] ch = string.toCharArray();
for(char c:ch) {
if(tm.get(c)==null) {
tm.put(c,1);
}else {
tm.put(c,tm.get(c)+1);
}
}
StringBuilder sb = new StringBuilder();
Set<Character> s = tm.keySet();
for(Character key:s) {
Integer value = tm.get(key);
sb.append(key).append("(").append(value).append(")");
}
System.out.println(sb.toString());