1. 程式人生 > >集合HashMap來統計單個字在字符串中出現的次數(用hashmap來統計)

集合HashMap來統計單個字在字符串中出現的次數(用hashmap來統計)

out new sta rar value integer .get AC try


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

集合HashMap來統計單個字在字符串中出現的次數(用hashmap來統計)