黑马程序员技术交流社区

标题: 字符串、map集合、StringBuffer的综合运用1 [打印本页]

作者: 蓝天白玉    时间: 2016-5-23 23:44
标题: 字符串、map集合、StringBuffer的综合运用1
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);
        }

}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2