public static void main(String[] args) {
//Pxjava xjava1=new xjava("sdadf");
String x="12312312312asdgasdjkhb";
char []b=x.toCharArray();
HashMap hsmap=new HashMap();
for(int i=0;i<b.length;i++){
if(hsmap.containsKey(b[i])){
String hs=""+ hsmap.get(b[i]);
int inths=Integer.parseInt(hs);
hsmap.put(b[i],inths+1);
}else{
hsmap.put(b[i],new Integer(1));
}
}
Iterator it=hsmap.entrySet().iterator();
String val="",keys="";
String _char="";
while(it.hasNext()){ //获取某个元素共出现了多少次
Map.Entry pairs = (Map.Entry)it.next();
// System.out.println(pairs.getKey() + " = " + pairs.getValue());
if("".equals(val)){
val=""+pairs.getValue();
}else{
String _val=""+pairs.getValue();
if(Integer.parseInt(val)>=Integer.parseInt(val)){
val=_val;
//_char=""+pairs.getKey();
}
}
}
Iterator it2=hsmap.entrySet().iterator();
while(it2.hasNext()){ //根据val值得到元素
Map.Entry pairs = (Map.Entry)it2.next();
String _val=""+pairs.getValue();
if(_val.equals(val)){
if("".equals(keys)){
keys=""+pairs.getKey();
}else{
keys+=","+pairs.getKey();
}
}
}
System.out.println("得到最大的元素是"+keys+"(共出现了-"+val+"次)");
}
}
感觉应该可以精简很多,希望有更好的方法贡献出来。