获取一个字符串中各个字符的个数

  • Post author:
  • Post category:其他


先将字符串转化成字符数组,然后进行遍历,因为我们需要确定各个字符的个数,因此使用到了Map集合,因为Map集合中键是无法重复的,因此我们将字符看成为键,将个数看成为值,然后判断Map集合中是否存在该字符的键,如果存在,那么就在值的后面加一即可,如果不存在哪么新建一个键后面填上个数1


import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class XinJiHe {
    /**
     * 定义出任意一个字符串, 例如: ”abcdsscchdyti12” ,
     * 计算字符串中每个字符出现的次数,最终获取到的结果 :
     * a有1个  b有1个 c有3个...
     */
    public static void main(String[] args) {
        Map<Character,Integer> m = new HashMap<>();
        String s = "abcdsscchdyti12";
        //转成数组进行遍历获取到每个字符
        char[] cArray = s.toCharArray();
        for (int index = 0; index < cArray.length;index++){
            //将获取到的值作为键
            //计数作为值
            char c = cArray[index];
            //判断集合中是否存在键
            if (m.containsKey(c)){
                //如果存在,那么在值的后面加1
                m.put(c,m.get(c)+1);
                //如果不存在那么就创建一个键值用于记录
            }else {
                m.put(c,1);
            }
        }
        //m.keySet();返回集合中包含键的Set集合
        Set<Character> s1 = m.keySet();
        for (Character key:s1){
            //通过集合遍历得到值
            Integer value = m.get(key);
            System.out.println(key+"有"+value+"个");
        }
    }
}



版权声明:本文为qq_56001285原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。