Map练习:统计一个字符串中每个字符出现的次数
- 遍历字符串,获取每一个字符
- String类的方法
char[] toCharArray() :将字符串转换为一个新的字符数组
- String类的方法
length()+char charAt(int index) (返回指定索引处的 char 值)
- 使用Map集合中的方法判断获取到的字符是否存储在Map集合中
boolean containsKey(Object 获取到的字符):如此映射包含指定键的映射关系,则返回 true。
- 返回true:字符存在,通过key获取value,把value++
- 返回false:把字符作为key,value=1,存储到集合中
V get(Object key) :返回指定键所映射的值
- 返回null:说明字符不存在
- 返回不是null:说明字符存在
public class Demo01 {
public static void main(String[] args){
String str="aaddcabbcdbeecc";
HashMap<Character,Integer> map=new HashMap<>();
//遍历字符串,获取每个字符
for (char c: str.toCharArray()){
//判断key是否存在
if (map.containsKey(c)){
Integer value = map.get(c);//获取value
value++;
map.put(c,value);
}else {
map.put(c,1);
}
}
//遍历map
for(Character key:map.keySet()){
Integer value = map.get(key);
System.out.println(key+"---"+value);
}
}
}
//结果
//a---3
//b---3
//c---4
//d---3
//e---2