java中怎么统计一个字符串中每个字符的出现次数?
操作如下:
String str ="2342asfghgyu56asdasda";Map<String,Integer> maps = new HashMap<String,Integer>();for(int i=0;i<str.length();i++){。
String key = String.valueOf((str.charAt(i)));if(!maps.containsKey(key)),maps.put(key, 1);else{int val =maps.get(key);maps.put(key, val+1);
for(Map.Entry i : maps.entrySet()){System.out.println(i.getKey()+ "=="+i.getValue());
具体方法:
package com.haotj.demo13;import java.util.Map;import java.util.Set;importjava.util.TreeMap;public class Test,public static void main(String[] args),String str。
"asdlkfjlaksdlkjfdsjlkazxcsdklfwuertiopwrljlflsdalxvclzjlksdfljklsdfuiafjdgllfdgdaslfsdjkldskfjdsl"; Map<Character, Integer> map = countChar(str);。
//遍历//1-Set<Character> set = map.keySet();for(Character key : set)System.out.println(key + "=" + map.get(key));//2-//Map中无迭代器,不能如下使用// for(Map.Entry<Character, Integer> me : map)// {// }Set<Map.Entry<Character, Integer>> entrys = map.entrySet();。
for(Map.Entry<Character, Integer> me : entrys)System.out.println("===" + me.getKey() + "=" + me.getValue()/*** 统计一个字符串中,每个字符出现的次数。
* <功能详细描述>* @param str:被统计的字符串,* @return 记录了每个字符及对应该字符出现的次数,* @see [类、类#方法、类#成员]*/public static Map<Character, Integer> countChar(String str)
//用于存放字符及对应次数。TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();//得到字符串中的每个字符for(int i = 0; i < str.length(); //取得字符串中每个字符,Character ch = str.charAt(i);
//在tm 对象中,判断该字符是否存在,//如果存在,则取得该key 对应的value 值,将value 值加1,再存入该集合对象,//如果不存在,则将该字符及1,存入到tm 中if(!tm.containsKey(ch)),else。