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

© xiaoya0o0o 中级黑马   /  2015-9-22 21:55  /  179 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. import java.util.Set;
  2. import java.util.TreeMap;

  3. /*
  4. * "aababcabcdabcde",
  5. *  获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
  6. *  
  7. *  1.字母 + 出现的次数:可以使用双列集合:Map
  8. *  2.因为字母不重复,所以使用字母做键;
  9. *  3.因为需要字母排序,所以使用:TreeMap
  10. */
  11. public class Demo {
  12.         public static void main(String[] args) {
  13.                 TreeMap<Character,Integer> map = new TreeMap<>();
  14.                 String str = "aababcafebcdabcefdefg";
  15.                 for(int i = 0;i < str.length() ; i++){
  16.                         char c = str.charAt(i);
  17.                         //先用c 做键,到集合中查找相应的值
  18.                         Integer value = map.get(c);
  19.                         //取出的value有两种情况:1.null 2.值
  20.                         if(value == null){
  21.                                 map.put(c, 1);
  22.                         }else{
  23.                                 map.put(c, ++value);
  24.                         }
  25.                 }
  26.                 StringBuffer buf = new StringBuffer();
  27.                 Set<Character> keySet = map.keySet();
  28.                 for(Character c : keySet){
  29.                         buf.append(c).append("(").append(map.get(c)).append(")");
  30.                 }
  31.                 System.out.println(buf);
  32.         }
  33. }
复制代码

0 个回复

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