欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

统计一个字符串中每个字符出现的次数

程序员文章站 2022-04-18 11:29:49
...

统计字符串中每个字符出现的次数

分析:

 1.定义一个需要被统计字符的字符串。
 2.将字符串转换为字符数组。
 3.定义一个双列集合,存储字符串中的字符以及字符在此字符串中出现的次数。
 4.遍历字符数组获取每一个字符,并将字符存储到双列集合中。
 5.存储过程中要判断,如果集合中不包含这个key,就将该字符当做key,值为1,如果该集合中存在这个键,将value+1存储。
 6.遍历双列集合。

代码展示:

package com.ajth.cn.config;

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

/**
 * @author xfd
 * @version 1.0
 * @date 2021/3/14 0014 21:36
 * 统计字符串中每个字符出现的次数
 * 分析:
 *  1.定义一个需要被统计字符的字符串。
 *  2.将字符串转换为字符数组。
 *  3.定义一个双列集合,存储字符串中的字符以及字符在此字符串中出现的次数。
 *  4.遍历字符数组获取每一个字符,并将字符存储到双列集合中。
 *  5.存储过程中要判断,如果集合中包不包含这个key,就将该字符当做key,
 *  值为1,如果该集合中存在这个键,将value+1存储。
 *
 */
public class MapTest6 {
    public static void main(String[] args) {

//        1.定义一个需要被统计字符的字符串。
        String strs="aaabbbcccddd";
        countChar(strs);

    }

    /**
     * 统计一个字符串中每个字符出现的次数
     * @param strs
     */
    public static void countChar(String strs) {
        //将字符串转换为字符数组。
        char[] chars = strs.toCharArray();
        //定义一个双列集合,用于存储字符串中的字符以及字符在此字符串中出现的次数。
        Map<Character,Integer> map=new HashMap<>();
        //遍历字符数组获取每一个字符,并将字符存储到双列集合中。
        for(Character ch:chars){
            /*存储过程中要判断,如果集合中不包含这个键,就将该字符当做键,
            值为1,如果该集合中存在这个键,将值+1存储。*/
            if(!map.containsKey(ch)){
                map.put(ch,1);
            }else{
                map.put(ch,map.get(ch)+1);
            }
        }
        //遍历map集合
        printMap(map);
    }

    /**
     * 遍历map集合
     * @param map
     */
    public static void printMap(Map<Character,Integer> map){
        Set<Map.Entry<Character, Integer>> entries = map.entrySet();
        for(Map.Entry<Character,Integer> entry:entries){
            Character key=entry.getKey();
            Integer value=entry.getValue();
            System.out.println(key+"="+value);
        }
    }
}