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

Posted 虎虎地程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合HashMap来统计单个字在字符串中出现的次数(用hashmap来统计)相关的知识,希望对你有一定的参考价值。


/*
* 统计单个字在字符串中出现的次数(用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来统计)的主要内容,如果未能解决你的问题,请参考以下文章

统计字符出现次数

java LinkedHashMap,TreeMap,HashMap

CGBTN2108_DAY15总结复习

Java中Map集合排序 需要TreeMap 这个集合的构造方法中参数有比较器 面试题:输入字符串,统计ABCD出现次数,由高到低输出字母和出现次数,使用Map集合完成此题

利用集合来统计字符串里每个字符出现的次数

哈希映射