华为上机试题(java)找出一个字符串中出现次数最多的字符

来源:互联网 发布:excel数据加单引号 编辑:程序博客网 时间:2024/04/24 02:20
 Java求字符串中出现次数最多的字符,如String Str = "aaabbcddddee";那么输出:d 4 ;若String Str = "aaabbcddddeexxxxxx";那么输出:x 6
import java.util.*;import java.util.HashMap;import java.util.Map;import java.util.Set;import java.util.Iterator;public class Maxkey{    public static void main(String[] args)    {        String str ="aabbbbcc";        char[] StrArr = str.toCharArray();        Map<Character,Integer> map = MapFunction(StrArr);        char ch = FindMapMaxValue(map);    }        public static Map<Character,Integer> MapFunction(char[] StrArr)        {            Map<Character,Integer> map = new HashMap<Character,Integer>();            if(!(StrArr == null || StrArr.length == 0))            {                for(int i = 0;i<StrArr.length;i++)                {                    if(null != map.get(StrArr[i]))                    {                        map.put(StrArr[i],map.get(StrArr[i])+1);                    }                    else                    {                        map.put(StrArr[i],1);                    }                }            }            return map;        }        public static Character FindMapMaxValue(Map<Character,Integer> map)        {            Set<Character> keys = map.keySet();            Iterator keys_Itera = keys.iterator();            Character maxkey = (Character)keys_Itera.next();            int maxvalue = map.get(maxkey);            while(keys_Itera.hasNext())            {                Character temp = (Character)keys_Itera.next();                if(maxvalue<map.get(temp))                {   maxkey = temp;                    maxvalue = map.get(temp);                }            }            System.out.println("maxkey is --->: "+maxkey+"  "+            "maxvalue is ---> :"+maxvalue);            return maxkey;        }     }

结果:

maxkey is --->: b  maxvalue is ---> :4



0 1
原创粉丝点击