package com.heima.anli;
import java.util.Set;
import java.util.TreeMap;
public class Test01 {
//1.取出一个字符串中字母出现的次数,如,字符串 ”abcdekka27qoq”,输出格式为:a(2)b(1)k(2)...
public static void main(String[] args) {
String s = "abcdekka27qoq";
String regex = "[0-9]";//定义一个规则
s=s.replaceAll(regex, "");//将字符串s按照指定规则替换为新的字符串
System.out.println(s);
TreeMap<Character, Integer> tm = new TreeMap<>();//定义一个treemap集合,treemap集合底层为二叉树结构
for (int i = 0; i < s.length(); i++) {//遍历字符串,这里用到了字符串的leng()方法
char c = s.charAt(i);//获取指定索引的字符
if (!tm.containsKey(c)) {//判断集合中是否包含该字符
tm.put(c, 1);//将字符作为键添加添加进集合
}else {
tm.put(c, tm.get(c)+1);//因为map集合键值唯一,所以这里覆盖了键所对应的值
}
}
StringBuffer sb = new StringBuffer();//定义了一个字符串缓冲对象
Set<Character> set = tm.keySet();//将map集合的键取出来成为一个set集合
for (Character key : set) {//遍历set集合
sb.append(key).append("(").append(tm.get(key)).append(")");//字符拼接
}
System.out.println(sb);
}
}
|
|