所用知识点:
1.map集合:Map用于保存具有映射关系的数据,Map集合里保存着两组值,一组用于保存Map的ley,另一组保存着Map的value。和查字典类似,通过key找到对应的value,通过页数找到对应的信息。用学生类举例,key相当于学号,value对应name,age,sex等信息。用这种对应关系方便查找。
2.map集合的遍历:通过Set把map键值对内部通过Entry内部类来封装key-value对,再计算Entry存储时则只考虑Entry封装的key。
3.map.put(k key , v value)方法:将指定的值与该映射中的指定键相关联(可选操作)。
4.map.get(Object key)方法:返回到指定键所映射的值或null,如果此映射包含该键的映射。
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
/*
使用集合Map:
键盘录入任意一串字符串,计算字符串中每个字符出现的次数。
如:abafafasfafsa a出现6次,b出现1次等...
a = 6
b = 1
f = 4
s = 2...
*/
public class Test2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = sc.next();
//定义容器,用于存储 字符=个数 这样一对一对的数据
HashMap<Character,Integer> map = new HashMap<>();
//遍历字符串
for (int i = 0; i <str.length() ; i++) {
//将字符串的字符单独赋值给一个变量key
char key = str.charAt(i);
//判断集合中,字符是否出现过
if(map.containsKey(key)){
//字符重复出现了
Integer value = map.get(key);
value = value+1;
map.put(key,value);
}else{
//字符是第一次出现
map.put(key,1);
}
}
//遍历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+"次");
}
}
}
该篇博客介绍如何利用Java的HashMap实现统计输入字符串中每个字符出现的次数。通过创建HashMap存储字符及其对应的计数,遍历字符串并检查字符是否已存在于HashMap中,若存在则增加计数,否则添加新键值对。最后,遍历HashMap打印每个字符及其出现次数。
653

被折叠的 条评论
为什么被折叠?



