TreeMapTest1

package com.shujia.day15;

import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

/*
    "aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
 */
public class TreeMapTest1 {
    public static void main(String[] args) {
        String s = "aababcabcdabcde";
        //创建TreeMap集合
        TreeMap<Character, Integer> map1 = new TreeMap<>();

        //将字符串转成一个字符数组
        char[] chars = s.toCharArray();

        //遍历字符数组,得到每一个字符
        for (char c : chars) {
            //将字符作为键存储在Map集合中
            //先判断集合中是否有该键,若没有,就赋值该字符为键,1为值存储【c, 1】
            //若集合已经存在该键了,在原来键对应的值基础之上加1 【c,1】-> 【c,2】
            if (!map1.containsKey(c)) {
                map1.put(c, 1);
            } else {
                map1.put(c, map1.get(c) + 1);
            }
        }

        //遍历集合,以指定的格式拼接输出
        StringBuilder sb = new StringBuilder();
        Set<Map.Entry<Character, Integer>> entries = map1.entrySet();
        for (Map.Entry<Character, Integer> entry : entries) {
            Character key = entry.getKey();
            Integer value = entry.getValue();
            sb.append(key).append("(").append(value).append(")");
        }

        String resStr = sb.toString();

        System.out.println("结果为:" + resStr);

    }
}
posted @ 2024-08-14 15:32  ていせい  阅读(3)  评论(0编辑  收藏  举报