废话不多说,直接上代码
package test;import java.lang.reflect.invocationtargetexception;import java.lang.reflect.method;import java.util.arraylist;import java.util.collections;import java.util.hashmap;import java.util.iterator;import java.util.list;import java.util.map;import java.util.map.entry;import java.util.stack;import java.util.vector;import com.sun.org.apache.bcel.internal.generic.ireturn;public class test {             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);//为空的话值为1                               }else{                                    integer in = map.get(c);//得到的value值至少为1                                    in++;                                    map.put(c, in);                                   }                         }                                                    /* 使用for-each遍历                         for (character c : map.keyset()) {                                                   system.out.println(map.get(c));                                           }               */                                       //使用迭代器和entryset遍历                         iterator<entry<character, integer>> iterator=map.entryset().iterator();                                       integer count =collections.max(map.values());//出现次数最多的值                         character character = null;           //存放次数最多的key                                       while(iterator.hasnext()) {                             map.entry<character, integer> entry=(map.entry<character, integer>)iterator.next();                                               system.out.println(entry.getkey()+"    "+entry.getvalue());           //得到出现次数最多的值的key                                 if(entry.getvalue().equals(count)) {                   character=entry.getkey();                                 }                                           }                                       system.out.println("出现次数最多的是:"+character+"出现次数为"+count);     }}
此题当然可以使用keyset()遍历,但是没有entryset效率高
以上就是java实战之给出字符串,统计汉字或字母出现的个数的详细内容。
   
 
   