求字符串中出现次数最多的字符及其出现次数
来源:互联网 发布:在线表单与数据库设计 编辑:程序博客网 时间:2024/05/20 23:34
问题描述如下:一个字符串中可能包含a-z中的多个字符,如字符串String str="abcdabffeabcccdd",求出现次数最多的字符及其出现次数,如有多个重复的则都列出。
import java.util.HashMap;import java.util.Map;import java.util.TreeMap;/* * 找出字符串中出现次数最多字符及次数:使用Map存储 */public class FrequencyOfChar {public static void main(String[] args) {String str="aavzcadaaaaavvvvvvv";Map<Character,Integer> mapOfFrequency=getFrequencyOfChar(str);System.out.println(mapOfFrequency);Map<Character,Integer> mapOfMaxFrequency=getMaxFrequencyOfChar(mapOfFrequency);System.out.println(mapOfMaxFrequency);}/** * 得到字符串中字符的出现次数 */public static Map<Character,Integer> getFrequencyOfChar(String str){Map<Character,Integer> mapOfFrequency=new HashMap<Character,Integer>();char[] charArrayOfStr=str.toCharArray();for(char ch:charArrayOfStr){if(mapOfFrequency.get(ch)==null){//该字符第一次出现mapOfFrequency.put(ch,1);}else{//该字符已出现过mapOfFrequency.put(ch, mapOfFrequency.get(ch)+1);//出现次数加1}}return mapOfFrequency;}/** * 得到出现次数最多的字符及出现次数的Map */public static Map<Character,Integer> getMaxFrequencyOfChar(Map<Character,Integer> mapOfFrequency){Map<Character,Integer> maxFrequencyOfChar=new TreeMap<Character,Integer>();//循环遍历map,保存出现次数最大的int num=0;//保存最大的出现次数for(Character ch:mapOfFrequency.keySet()){System.out.println(maxFrequencyOfChar);if(num==0){//访问第一个字符num=mapOfFrequency.get(ch);maxFrequencyOfChar.put(ch, num);//将第一条映射加入}else{if(mapOfFrequency.get(ch)>num){//当前字符的出现次数大于之前最大出现次数num=mapOfFrequency.get(ch);maxFrequencyOfChar.clear();maxFrequencyOfChar.put(ch,mapOfFrequency.get(ch));}else if(mapOfFrequency.get(ch).equals(num)){//当前字符的出现次数等于之前最大出现次数System.out.println();maxFrequencyOfChar.put(ch,mapOfFrequency.get(ch));}}}return maxFrequencyOfChar;}}
0 0
- 求字符串中出现次数最多的字符及其出现次数
- 查找字符串中出现最多次数的字符及其个数
- Java求字符串中出现次数最多的字符
- 求字符串中出现次数最多的字符
- 字符串中出现次数最多的字符
- 求字符串中出现次数最多的字母及次数
- Java统计字符串中出现次数最多的字符及其次数
- 遍历一次字符串,选择出在该字符串中出现次数最多的字符及其出现次数(Java)
- 查找出字符串中出现最多的字符及其出现的次数
- 查找出字符串中出现最多的字符及其出现的次数
- 查找出字符串中出现最多的字符及其出现的次数
- 求一字符串出现次数最多的字符,asm
- 求字符串中出现最多的字符和出现的次数
- 求出现最多的字符及次数
- 计蒜客-求出现次数最多的字符
- 获取出现次数最多的字符及其次数
- 求一段字符串中连续出现次数最多的单个字符和分解字符串
- 求一个字符串中连续出现次数最多的字串
- Win32API、MFC、.NET多线程并行求矩阵乘法(星星笔记)
- 按时可达上课了大事了的撒了解
- POJ 1815 (最小割的点集)
- 黑马程序员--IO流之其他
- 获取父类的泛型类型
- 求字符串中出现次数最多的字符及其出现次数
- 9-操作符重载
- hdu1080
- C++ STL源码剖析
- C/C++ 常用输入
- django url调度
- Atitit.实现继承的原理and方法java javascript .net c# php ...
- 在一个页面两个DropDownList绑定同一个数据源
- stl_config.h