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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 惠晖 中级黑马   /  2012-11-21 16:41  /  898 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.*;
class TreeSetTest3
{
        public static void main(String[] args)
        {
                TreeSet ts=new TreeSet(new StringLength());
                ts.add("aaa");
                ts.add("bdaaa");
                ts.add("aca");
                ts.add("ab");
                ts.add("acdt");

               
                Iterator it= ts.iterator();
                while (it.hasNext())
                {
                        System.out.println(it.next());
                }
        }
}
class StringLength  implements Comparator
{
        public int compare(Object o1,Object o2)
        {
                String s1=(String)o1;
                String s2=(String)o2;
                        int num=s1.length()-s2.length();
                //int num=new Integer (s1.length()).compareTo (new Integer(s2.length()));
                if (num==0)
                   return s1.compareTo(s2);
                return num;
        }
}
老师为什么不用注释上面的那种方法  代码更少啊   是不是有什么缺陷?

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
怎么这么久  都没人回答下啊  我昏迷啊 论坛人气不行了啊
回复 使用道具 举报
因为如果字符串长度一样呢?所以就需要再比一次字符串本身的内容了。
回复 使用道具 举报
王阳 发表于 2012-11-21 19:50
因为如果字符串长度一样呢?所以就需要再比一次字符串本身的内容了。

答非所问啊
回复 使用道具 举报
惠晖 发表于 2012-11-21 20:31
答非所问啊

那可能我没理解,能否贴出你说的简化的代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马