首页 > 代码库 > 计算字符串每个字符出现的次数
计算字符串每个字符出现的次数
package test001;import java.util.Collection;import java.util.Collections;import java.util.HashMap;import java.util.Map;import java.util.Set;public class EveryStrCount { public static void main(String[] args) { String str = "程序员好吗>序员好吗>程序序家序序序序aabb;;;"; Map<Character,Integer> map = new HashMap<Character,Integer>(); char[] ch = str.toCharArray(); /*将字符和出现的个数存入到Map*/ for(char c:ch){ if(map.get(c)==null){ map.put(c, 1); }else{ Integer in = map.get(c); in++; map.put(c, in); } } //取出key集合 Set<Character> set = map.keySet(); //根据key,取出value就可以算出字符出现的个数 for(Character c:set) { System.out.println("["+c+"]"+":出现的次数为:"+map.get(c)); } System.out.println(); //取出value集合 Collection<Integer> col = map.values(); //取出最大值(也就是出现最多的次数) int charMaxIndex = Collections.max(col); //取出最小值(也就是出现最少的次数) int charMinIndex = Collections.min(col); //Map.Entry是一个接口,Map.entrySet方法返回映射的 collection 视图,获得映射项引用的 //唯一方法是通过此 collection 视图的迭代器来实现。 for(Map.Entry<Character, Integer> entry : map.entrySet()) { if(entry.getValue().equals(charMaxIndex)) { System.out.println("出现次数最多的字符是:"+entry.getKey()+":"+"它出现了:"+charMaxIndex+"次"); } else if(entry.getValue().equals(charMinIndex)) { System.out.println("出现次数最少的字符是:"+entry.getKey()+":"+"它出现了:"+charMinIndex+"次"); } } }}
运行结果:
[员]:出现的次数为:2[b]:出现的次数为:2[a]:出现的次数为:2[;]:出现的次数为:3[程]:出现的次数为:2[吗]:出现的次数为:2[好]:出现的次数为:2[>]:出现的次数为:2[家]:出现的次数为:1[序]:出现的次数为:8出现次数最少的字符是:家:它出现了:1次出现次数最多的字符是:序:它出现了:8次
计算字符串每个字符出现的次数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。