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

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/**
 * 计算一个字符串中每个字符出现的次数
 * 
 * 思路:
 * 通过toCharArray()拿到一个字符数组-->
 * 遍历数组,将数组元素作为key,数值1作为value存入map容器-->
 * 如果key重复,通过getKey()拿到value,计算value+1后存入
 */
public class Test01 {
    public static void main(String[] args) {
        System.out.println("请输入字符串:");
        Scanner sc=new Scanner(System.in);
        while (sc.hasNextLine()){
            String str=sc.nextLine();
            Map map =count(str);
            System.out.println(map);
        }
    }
    public static Map count(String str){
        Map map=new HashMap();
        char[] array_char=str.toCharArray();//把字符串转成字符数组
        for(char  arr_char: array_char){//遍历字符数组
            if(map.containsKey(arr_char)){//查看字符是否在map的key中存在,如果存在
                Integer old=map.get(arr_char);//通过key获取value的值
                map.put(arr_char,old+1);//把字符放入map的key中,value设置为通过key获取value的值+1
            }else{//查看字符是否在map的key中存在,如果不存,把字符放入map的key中,value默认设置为1
                map.put(arr_char,1);
            }
        }
        return  map;
    }
}

你可能感兴趣的:(java数据结构和算法)