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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李会成 中级黑马   /  2013-1-30 14:01  /  1232 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李会成 于 2013-2-1 11:13 编辑

毕老师视频中这样一个例子:找出字符串中每个字符出现的次数。
  1. import java.util.*;
  2. class  charCountTest implements Comparable<>
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 String s=charCount("aabbccfcdddd");
  7.                 System.out.println(s);
  8.         }
  9.         public static String charCount(String str)
  10.         {
  11.                 char[] s=str.toCharArray();
  12.                 TreeMap<Character,Integer> tm=new TreeMap<Character,Integer>();
  13.                 int count=0;
  14.                 for(int x=0;x<s.length;x++)
  15.                 {
  16.                         if(!(s[x]>='a' && s[x]<='z'  ||  s[x]>='A' && s[x]<='Z'))
  17.                                 continue;
  18.                         Integer value=tm.get(s[x]);
  19.                         if(value!=null)
  20.                         {
  21.                                 count=value;
  22.                         }
  23.                         count++;
  24.                         tm.put(s[x],count);
  25.                         count=0;
  26.                 }
  27.                 StringBuilder sb=new StringBuilder();
  28.                 Set<Map.Entry<Character,Integer>> entrySet=tm.entrySet();
  29.                 Iterator<Map.Entry<Character,Integer>> it=entrySet.iterator();
  30.                 while(it.hasNext())
  31.                 {
  32.                         Map.Entry<Character,Integer> me=it.next();
  33.                         Character ch=me.getKey();
  34.                         Integer value=me.getValue();
  35.                         sb.append(ch+" : "+value+"...");
  36.                 }
  37.                 return sb.toString();
  38.         }
  39.         
  40. }
复制代码
这个里面的键是Character,因为在Character中默认实现了Comparable的compareTo,所以本身就具备了比较性。
如果我想用Value做比较并输出怎么做?
映射依然是<Character,Integer> ,输出结果按照字符出现次数的大小排序,也就是说把Value作为比较条件。

3 个回复

倒序浏览
回复 使用道具 举报
黄锦成 发表于 2013-1-30 14:14
你参考一下我这个http://bbs.itheima.com/thread-36817-1-1.html

谢谢斑竹,跪求给点技术分吧
回复 使用道具 举报
请勿复制他人帖子,技术分不是入学的门槛而是为了帮助大家学习而存在的。

请勿再次发此类帖子了!

此贴就关闭了。此后如有再次发现直接封禁处理,请看到此贴的会员也加以注意。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马