/*
* 统计单个字在字符串中出现的次数(用hashmap来统计)
*
* 分析 :
* 1.先建立一个字符串
* 2.把字符串转换为数组
* 3.创建一个hashmap
* 4.遍历数组,得到每个字符
* 5、拿得到的字符作为健到集合中去找值。得到返回值
* 是null:把字符作为键,1为值存入集合
* 不是null: 则把值加1重新写入集合
* 6.遍历输出
*
*/
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
/**
* 统计单个字在字符串中出现的次数(用hashmap来统计)
* @author ma
*
*/
public class HashMapDemo5 {
/*
* 统计单个字在字符串中出现的次数(用hashmap来统计)
*
* 分析 :
* 1.先建立一个字符串
* 2.把字符串转换为数组
* 3.创建一个hashmap
* 4.遍历数组,得到每个字符
* 5、拿得到的字符作为健到集合中去找值。得到返回值
* 是null:把字符作为键,1为值存入集合
* 不是null: 则把值加1重新写入集合
* 6.遍历输出
*
*/
public static void main(String[] args) {
//1.先建立一个字符串
String str = "真真真真真slkg在jfsjsht中j中ghr中国lsh你izx你lf在hfnaj产产产科";
//2.把字符串转换为数组
char[] charArr = str.toCharArray();
//3.创建一个hashmap
HashMap<Character, Integer> hm = new HashMap<Character, Integer>();
//4.遍历数组,得到每个字符
for (int i = 0; i < charArr.length; i++) {
//5、拿得到的字符作为健到集合中去找值。
Integer value = hm.get(charArr[i]);
if(value ==null){
//是null:把字符作为键,1为值存入集合,
hm.put(charArr[i], 1);
}else{
//得到返回值不是null: 则把值加1重新写入集合
value ++;
hm.put(charArr[i], value);
}
}
//6.遍历输出
Set<Entry<Character, Integer>> set = hm.entrySet();
for (Entry<Character, Integer> entry : set) {
System.out.println(entry);
}
}
}
输出结果:
你=2
a=1
f=3
g=2
产=3
在=2
h=4
i=1
j=4
k=1
l=3
中=3
n=1
科=1
r=1
s=4
t=1
x=1
z=1
国=1
真=5