统计一个字符串中每个字符出现的次数
程序员文章站
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);
}
}
}
上一篇: 观察者模式
下一篇: 2.flask用户登陆注册功能的实现