java_用Map统计字符中各中字符出现的次数
package study.map; /*计算一个字符串中每个字符出现次数 分析: 1. 获取一个字符串对象 2. 创建一个Map集合,键代表字符,值代表次数 3. 遍历字符串得到每个字符 4. 判断Map中是否有该键 5. 如果没有,第一次出现,存储次数为1;如果有,则说 明已经出现过,获取到对应的值进行++,再次存储 6. 打印最终结果*/ import java.util.HashMap; import java.util.Scanner; public class MapUseDemo { public static void main(String[] args) { System.out.println("请录入一个字符串:"); String line = new Scanner(System.in).nextLine();/*读入该字符串行*/ // 调用所定义的统计每个字符出现次数的(静态)方法 findChar(line); } /*在public class中 定义一个静态方法:findChar*/ private static void findChar(String line) { //1:创建一个映射集合map对象,存储字符以及其出现的次数 HashMap<Character, Integer> map = new HashMap<Character, Integer>(); //2:遍历字符串 /*java.lang.String @Contract(pure = true) public int length() Returns the length of this string. The length is equal to the number of Unicode code units in the string.*/ for (int i = 0; i < line.length(); i++) { char c = line.charAt(i);//在for中定义char c; //判断该字符是否在键集中 if (!map.containsKey(c)) {//说明这个字符没有出现过,那就是第一次,那么就将它添加到键值对集合map中 map.put(c, 1); } else { /*//先获取之前的次数 Integer count = map.get(c); count++;*/ //存入更新 map.put(c, map.get(c)+1); } } System.out.println(map); } } /* 请录入一个字符串: rwhithiwjroi0q3og-kgofksf {f=3, g=3, h=3, i=5, j=1, k=3, -=1, o=5, 0=1, q=1, r=3, 3=1, s=1, t=1, w=3} * */
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了