Java进阶基础—HashMap集合的统计字符串并遍历
程序员文章站
2022-04-30 22:09:08
...
/*
- 要求:键盘输入一串字符串,eg:aadddfjj
- 统计字符串中每个字符出现的次数;
- 格式:a(2)d(3)f(1)j(2)
- 思路:
- 第一步:Scanner对象创建,获取键盘录入的字符串,用str.split("")分割,
- 变成字符串数组String[]
- 第二步:创建HashMap集合,用键存储字符,用值存储个数。
- 第三步:遍历字符串,用contianKey(charater)判断是否包含指定的键值,如果不包含,把对应的值
- 复制为1,如果返回true,那就把对应的value值+1,重新覆盖存储。
- 第四步:按要求遍历HasMap值即可。
- */
上代码…
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class HashMapAddCharacter {
public static void main(String[] args) {
//第一步:Scanner对象创建,获取键盘录入的字符串,用str.split("")分割,
//* 变成字符串数组String[]
Scanner sc = new Scanner(System.in);
String intPutString = sc.nextLine();
String[] intPutArrStr = intPutString.split("");
//第二步:创建HashMap集合,用键存储字符,用值存储个数。
HashMap<String,Integer> hashMap = new HashMap<String, Integer>();
//第三步:遍历字符串,用contianKey(charater)判断是否包含指定的键值,如果不包含,把对应的值
// 复制为1,如果返回true,那就把对应的value值+1,重新覆盖存储。
for(String s:intPutArrStr){
if(hashMap.containsKey(s)){
int i = hashMap.get(s)+1;
hashMap.put(s,i);
} else{
hashMap.put(s,1);
}
}
//第四步:按要求遍历HasMap值即可。
Set<Map.Entry<String,Integer>> set = hashMap.entrySet();
for(Map.Entry<String,Integer> s : set){
System.out.print(s.getKey()+"("+s.getValue()+")");
}
}
}
上一篇: python:字符串操作