码迷,mamicode.com
首页 > 其他好文 > 详细

集合HashMap来统计单个字在字符串中出现的次数(用hashmap来统计)

时间:2018-05-12 23:55:46      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:一个   hashmap   dem   i++   null   ash   oid   str   遍历数组   


/*
* 统计单个字在字符串中出现的次数(用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来统计)

标签:一个   hashmap   dem   i++   null   ash   oid   str   遍历数组   

原文地址:https://www.cnblogs.com/majingang/p/9030586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!