输入字符串,统计每个字符出现的个数
如何统计输入字符串的个数呢,这里,我用map集合实现这个功能,我们首先来理一下思路:
map集合里面元素都是一个个键值对组成,也就是Key和Value,当出现一个新字符时,我们就要统计字符,同时给这个字符的个数统计为1,如果下次又碰到这个字符,我们只需要在字符的个数后面加一就可以,从这里我们发现,我们可以把字符当做map集合中的Key,而每个字符出现的次数我们可以放到对应Key的Value里面,每次重新遇到前面出现的字符时,我们只需要将Value加一就可以了,下面是代码的实现。
public class TestHashMap {
public static void main(String[] args) {
System.out.println("请输入要统计的字符串:");
String input = new Scanner(System.in).nextLine();//接受输入的字符串
HashMap<Character,Integer> map = new HashMap<>();//创建HashMap集合,因为泛型不能使用基本类型,所以使用char和int的包装类型,Character为Key的类型,Integer为Value的类型
for(int i=0;i<input.length();i++){//循环判断,发现新的字符存到Key中
char key = input.charAt(i);//接受指定索引处的字符
Integer value = map.get(key);//返回指定key中的value 默认为null
if(value == null){
map.put(key,1);//将指定key的value赋值为1,因为默认value值为null,来了一个字符时,就统计为1