代码段:
package Map_HashMap;
/*
案例:统计字符串中每个字符出现的次数;
*/
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;
public class Statistics {
public static void main(String[] args) {
//创建键盘录入对象并提示输入字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入字符串:");
String s = sc.nextLine();
//创建HashMap集合
TreeMap<Character, Integer> hs = new TreeMap<Character, Integer>();
//遍历输入的字符串
for (int x = 0; x < s.length(); x++) {
//获取每一个字符
char key = s.charAt(x);
//以字符作为TreeMap集合的键,获取值
Integer value = hs.get(key);
//如果值为空,就存储值为1
if (value == null) {
hs.put(key, 1);
} else {
//如果不为空,表示两个键相同,新的会替换旧的,将值做++操作来记录该键出现的次数
value++;
hs.put(key, value);
}
}
//遍历TrreeMap集合①获取所有键的集合
Set<Character> ch = hs.keySet();
//遍历键的集合增强for
for (Character c : ch) {
//根据键获取值
Integer i = hs.get(c);
//将获取到的键值对格式化输出
System.out.print(c + "(" + i + ")" + "\n");
}
}
}
难点:if部分,重点要理解键和值是怎样的原理存储到TreeMap集合当中去的。
版权声明:本文为sbgunlun原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。