欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用Map集合统计字符串中每个字符出现的次数

程序员文章站 2022-04-18 09:23:41
...

需求:使用Map集合统计字符串中每个字符的次数。

  • String s=“adsdfsdfsdfse1231234sdfsdf”;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class Test {
	public static void main(String[] args) {
		String  s="adsdfsdfsdfse1231234sdfsdf";
		//将字符串转成字符数组
		char[] chs = s.toCharArray();
		Map<Character, Integer> map = new HashMap<Character, Integer>();
		//遍历字符数组
		for (int i = 0; i < chs.length; i++) {
			//如果集合中的键存在和该字符chs[i]一样的值,那么就在原有的值上加1,覆盖掉原来的键值
			if(map.containsKey(chs[i])) {
				map.put(chs[i], map.get(chs[i])+1);
			}else {
				//如果集合中的键没有存在与字符chs[i]一样的值,那么就将chs[i]的值作为键存入map集合中,1作为值
				map.put(chs[i], 1);
			}
		}
		//遍历集合,用entrySet方法遍历
		Set<Map.Entry<Character,Integer>> entrySet = map.entrySet();
		//创建Set集合的迭代器
		Iterator<Map.Entry<Character, Integer>> it = entrySet.iterator();
		while(it.hasNext()) {
			Entry<Character, Integer> entry = it.next();
			System.out.println(entry.getKey()+"--"+entry.getValue());
		}
		
	}
}