A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class MapTest3
  2. {
  3.         public static void main(String[] args)
  4.         {   
  5.                 //获取这个字符串中每个字符出现的次数,打印结果:a(1)c(2)...
  6.                 String s = "sdfgzxcvasdfxcvdf";
  7.                 //创建集合
  8.                 TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>();
  9.                 //遍历字符串
  10. //----------------------------------------------------------------------------------------------
  11.         for(int x = 0;x<s.length();x++){
  12.                           //获取字符
  13.                       char temp = s.charAt(x);
  14.                           //判断集合中是否包含这个key,如果不包含,那么就存入集合,并且直接就记录出现一次。
  15.                           //如果包含这个key,那么就获取这个key对应的value,然后在加1,并存入集合,这样
  16.                           //就把值之前的value给覆盖了。
  17.                           if(!tm.containsKey(temp)){
  18.                                   tm.put(temp,1);
  19.                           }else{
  20.                               tm.put(temp,tm.get(temp)+1);
  21.                              
  22.                           }
  23.                 }
  24. //-----------------------------------------------------------------------------------------------
  25.          //底下这些代码可以忽略
  26.                  Set<Character> keyset = tm.keySet();

  27.                  Iterator<Character> it = keyset.iterator();
  28.           StringBuilder sb = new StringBuilder();
  29.                  while(it.hasNext()){
  30.                     Character  arr  = it.next();
  31.                         Integer   in = tm.get(arr);
  32.                         sb.append(arr+"("+in+")");
  33.                  }
  34.                  System.out.println(sb);
  35.         }
  36. }
  37. /*问题:
  38.                       首先:运行结果是没错的!
  39.                       自己写完后,看了老师的做法,瞬间不相信自己了!!!!
  40.                         1,我没有通过null值来判断,而是直接就存入集合了,这样好吗?
  41.                         2,是不是真的是对自己没信心了。。。。。
  42. */          
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马