统计字符在字符串中出现的次数

Posted 小智RE0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计字符在字符串中出现的次数相关的知识,希望对你有一定的参考价值。


统计字符在字符串中出现的次数


方式1:在map集合中进行if-else判断

public class Demo01 {
    public static void main(String[] args) {
        //统计字符在字符串中出现的次数; 
        String str = "qwerqqqqqqweqweeeewqq";
        Map<Character, Integer> map = new HashMap<>();
        //对字符串进行遍历;
        for (int i = 0; i < str.length(); i++) {
            // charAt:根据索引寻找字符
            char c = str.charAt(i);
            //判断是否包含指定的字符;
            if (!map.containsKey(c)) {
                //若不包含就存入map中;
                map.put(c, 1);
            } else {
                //若包含则加出现次数+1;
                map.put(c, map.get(c) + 1);
            }
        }
        System.out.println(map);
        //输出结果:{q=10, r=1, e=6, w=4}
    }
}

方式2:通过 字母的ascll码相减,统计次数

public class Demo01 {
    public static void main(String[] args) {
        //统计字符在字符串中出现的次数; 
        String str = "qwerqqqqqqweqweeeewqq";
        //方式2:
        //由于每个字母都有着对应的ascll码;创建长度为26的数组;
        int[] counts = new int[26];
        //对字符串进行遍历;
        for (int i = 0; i < str.length(); i++) {
            // charAt:根据索引寻找字符
            char c = str.charAt(i);
            //让拿到的每个字母;去减第一个字母的值;(实际上有隐式的ascll码相减);
            //减出来的值就相当于拿到一次;每减一次就加一次,最终会把叠加的次数计入数组;
            counts[c - 'a']++;
        }
        //遍历数组;
        for (int array : counts) {
            System.out.print(array + " ");
        }
        //计算结果:0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 10 1 0 0 0 0 4 0 0 0
     }
}

以上是关于统计字符在字符串中出现的次数的主要内容,如果未能解决你的问题,请参考以下文章

统计句子中各个字符出现的次数

统计字符出现次数

字符串中各字符出现次数的统计

二叉排序树统计字符串中出现的字符及其次数

统计字符在字符串中出现的次数

统计一个字符串在文本文件中的出现次数