使用Map集合统计一个字符串中每个字符出现的个数

一. 题目描述
使用Map集合统计一个字符串中每个字符出现的个数,将结果使用HashMap.entrySet()方法存入set集合,并使用迭代器和foreach方法分别遍历set集合。
二. 流程设计
1.输入字符串
2.转化字符数组,遍历字符数组
3.使用map集合中的方法判断获取到的字符是否在Map对象中,若不存在,value赋值为1,存在,value++
4.将map集合遍历输出结果
三. 代码实现

import java.util.*;
public class Main {
    /**
     * 1.输入字符串
     * 2.转化字符数组,遍历字符数组
     * 3.使用map集合中的方法判断获取到的字符是否在Map对象中,若不存在,value赋值为1,存在,value++
     * 4.将map集合遍历输出结果
     */
    public static  void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str1 = scanner.next();
        char[] chars = str1.toCharArray();

        HashMap hashMap = new HashMap<>();

        for (int i = 0; i < chars.length; i++) {
            if (hashMap.containsKey(chars[i])) { //存在key,修改value的值
                Integer value = hashMap.get(chars[i]);
                value++;
                hashMap.put(chars[i], value);
            } else {
                hashMap.put(chars[i], 1); // 不存在key,添加进去
            }

        }

        //遍历hashMap集合
        //1.使用entry键值对方式
        Set> set = hashMap.entrySet();
        //2.使用迭代器遍历Set集合
        Iterator> it = set.iterator();
        while (it.hasNext()) {
            Map.Entry next = it.next();
            System.out.println(next.getKey() + "的个数为" + next.getValue());
        }

        //3.使用增强for循环遍历set集合
        System.out.println("使用foreach循环遍历");
        for (Map.Entry entry : set) {
            System.out.println(entry.getKey() + "的个数为" + entry.getValue());

        }

    }
}

四. 运行截图
使用Map集合统计一个字符串中每个字符出现的个数_第1张图片

你可能感兴趣的:(使用Map集合统计一个字符串中每个字符出现的个数)