/*
* 統計單個字在字符串中出現的次數(用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
