使用HashMap计算一个字符串中每个字符出现的次数
Posted lxxstart
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用HashMap计算一个字符串中每个字符出现的次数相关的知识,希望对你有一定的参考价值。
原理:用户输入一个字符串,我们将这个字符串转换为一个char数组,再使用增强for循环去遍历这个数组,将得到的字符作为key,再定义一个计数器count作为value存储到一个HashMap集合中,若这个key只出现一次,则将value赋值为1,若key重复出现,则用后一个key覆盖前面的key,value值count++。
逻辑代码如下:
package com.lxx.Day06;
import java.util.HashMap;
import java.util.Scanner;
/*
Map练习:计算一个字符串中每个字符出现的次数
*/
public class MapPractice {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = scanner.next();
//定义一个HashMap集合,key是字符,value是字符出现次数
HashMap<Character, Integer> map = new HashMap<>();
//将字符串变成char数组
char[] chars = str.toCharArray();
//遍历这个char数组,获取每一个字符
for (char aChar : chars) {
//使用获取到的字符,去集合中判断key是否存在
//如果存在,value+1
if (map.containsKey(aChar)){
Integer count = map.get(aChar);
count++;
map.put(aChar,count);
}else {
map.put(aChar,1);//不存在,则往集合中添加
}
}
//遍历map集合,输出结果
for (Character key : map.keySet()) {
Integer integer = map.get(key);
System.out.println(key+":"+integer+"个");
}
scanner.close();
}
}
以上是关于使用HashMap计算一个字符串中每个字符出现的次数的主要内容,如果未能解决你的问题,请参考以下文章