要求:

键盘输入一串字符,并获取;

创建HashMap集合,键是Character, 值是Integer;

遍历字符,CharAt()取出每一个字符;通过key获取字符出现的次数;

判断集合是否包含该字符,如果包含,数量自加1;如果不包含该字符,则把字符传入集合中,数量记为1;

import java.util.HashMap;
import java.util.Scanner;

public class test02 {
    public static void main(String[] args) {
        // 键盘输入字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String str = sc.nextLine();
        //创建HashMap集合
        //Character作为key, Integer代表数量
        HashMap<Character,Integer> map= new HashMap<Character,Integer>();
        //遍历字符
        for (int i = 0; i < str.length(); i++) {
            //取出每一个字符
            char c = str.charAt(i);
            //判断map集合中是否包含key
            if (map.containsKey(c)){
                //通过key获得出现数量的次数
                Integer count = map.get(c);
                count++;
                //添加到集合中,修改
                map.put(c,count);
            }else{
                //否则没有出现过该字符
                map.put(c,1);
            }
        }
        System.out.println(map);
    }
}

运行结果:

注意: 

判断集合是否包含该字符,如果包含,数量自加1时,要获取集合中现有多少个该字符:Integer count = map.get(c);

进行自加1以后,不要忘了把修改后的键和值传入集合: map.put(c,count);

总结:此为简单案例,要掌握HashMap的用法,熟练运用各种参数,还要不断练习才行。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐