黑马程序员技术交流社区

标题: 小小的疑问 [打印本页]

作者: 惠晖    时间: 2012-11-21 16:41
标题: 小小的疑问
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;
        }
}
老师为什么不用注释上面的那种方法  代码更少啊   是不是有什么缺陷?
作者: 惠晖    时间: 2012-11-21 19:42
怎么这么久  都没人回答下啊  我昏迷啊 论坛人气不行了啊
作者: 王阳    时间: 2012-11-21 19:50
因为如果字符串长度一样呢?所以就需要再比一次字符串本身的内容了。
作者: 惠晖    时间: 2012-11-21 20:31
王阳 发表于 2012-11-21 19:50
因为如果字符串长度一样呢?所以就需要再比一次字符串本身的内容了。

答非所问啊
作者: 王阳    时间: 2012-11-21 22:28
惠晖 发表于 2012-11-21 20:31
答非所问啊

那可能我没理解,能否贴出你说的简化的代码




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2