jave code:
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class test {
public static void main(String[] args) {
String str="aabbbcccc11111";
Map map =new HashMap();//这个map中 key是组成str的每个字符(a,b,c,1),value是字符出现的次数
for (int i = 0; i < str.length(); i++) {//循环str这个字符串
String s=str.substring(i,i+1);//取出一个字符
//System.out.println(s);
if(map.containsKey(s)){//如果这个字符作为key在map已存在
int value=Integer.parseInt( map.get(s).toString());//获取对应的value并转换为int
map.remove(s);//删除map中的这列数据
map.put(s, value+1);//重新加入新的一列数据,key为字符,value为以前的value+1
}else{
map.put(s, 1);//如果不存在直接添加进去,并且value为1
}
}
//System.out.println("map的长度: "+map.size());
int maxValue=0;//存储最大value
String maxKey="";//存储最大key
for(Object o :map.entrySet()){//遍历这个map,并获取具有最大值的map对象的key与value放入以上两个变量(类似于冒泡排序)
Map.Entry me=(Entry) o;
//System.out.print("key: "+me.getKey());
//System.out.print("value: "+me.getValue());
String key=me.getKey().toString();
int value=Integer.parseInt(me.getValue().toString());
if(value>maxValue){
maxValue=value;
maxKey=key;
}
}
System.out.println("出现最多的是: "+maxKey +" 总共出现了: "+maxValue+"次");//输出结果
}
}