zoukankan      html  css  js  c++  java
  • 计算字符串每个字符出现的次数

    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次
    

      

  • 相关阅读:
    JSP中的必用的HTML元素_表单
    JSP规范_Tag Files(标签文件)
    JSP规范_Tag Library标签库
    JSP规范_JavaBean
    mysql 视图_触发器_函数_存储过程_事务_动态防SQL注入
    mysql 命令总结(持续补全)
    file 操作以及函数各种操作
    字符编码理解
    字符串操作学习
    kd的程序小设计
  • 原文地址:https://www.cnblogs.com/ckxlovejava/p/5939430.html
Copyright © 2011-2022 走看看