黑马程序员技术交流社区
标题:
TreeSet比较器这有点小疑问
[打印本页]
作者:
郭冰川
时间:
2013-1-28 17:51
标题:
TreeSet比较器这有点小疑问
本帖最后由 郭冰川 于 2013-1-28 18:52 编辑
有点疑问,具体在代码注释上面
import java.util.*;
class TreeSetTest
{
public static void main(String[] args)
{
TreeSet ts = new TreeSet(new MyCompare());
ts.add("abcd");
ts.add("cc");
ts.add("cba");
ts.add("aaa");
ts.add("z");
ts.add("hahaha");
Iterator it = ts.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
class MyCompare implements Comparator
{
public int compare(Object o1,Object o2)
{
String s1 = (String)o1;
String s2 = (String)o2;
//int num = s1.length() - s2.length();
//这里有点疑问,毕老师一直用下面转成Integer的方法,我觉得上面那个方法也挺好用的,求高手给分析下区别
int num = new Integer(s1.length()).compareTo(new Integer(s2.length()));
if (num == 0)
{
return s1.compareTo(s2);
}
return num;
}
}
作者:
黄锦成
时间:
2013-1-28 18:43
int num = new Integer(s1.length()).compareTo(new Integer(s2.length())); 这个是按照字符串长度自然顺序来排序。即从小到大。
int num = s1.length() - s2.length(); 这个也按照长度大小排序,是升序还是降序,就要看结果了。如果不是你想要的顺序,你可以将结果变成负的
作者:
李光耀
时间:
2013-1-28 18:51
我觉得。。new对象了,可以使用对象的其他方法。
如果如果真正开发了,肯定不会只有这么简单的减法运算。
应该是开发习惯吧。。。。。。。{:soso_e117:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2