集合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