标题:对于对象的sort排序。
取消只看楼主
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
结帖率:75%
 问题点数:0 回复次数:4 
对于对象的sort排序。
sort的排序对于对象,需要在类中实现comparable接口和comparaTo方法,我疑惑的是,实现这个方法是什么意思?为什么要规定大就是1,等于是0,小于是-1?对于排序有什么影响?如果有2个int成员变量,我想对a变量升序排列,或者对他降序排列,需要怎么实现comparaTo方法?麻烦举个简单的例子,这里不是很明白comparato的作用,谢谢
搜索更多相关主题的帖子: sort 对象 变量 comparaTo 接口 
2008-03-14 00:22
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
得分:0 
是不是这个意思?
sort排序是升序的,只不过sort不知道要排对象的哪个变量?
如果我通过j排,那么我就可以定义   j>(o.j)?1:(j==o.j)?0:-1);
2008-03-15 02:05
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
得分:0 
comparato的作用只是告诉sort对哪个排序?
2008-03-15 02:07
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
得分:0 
if (this.i > ((Example) o).i)
            return -1;
        else if (this.i < ((Example) o).i)
            return 1;
        else
            return 0;

这么排就是降序吧?
如果是升序就是这个么?
        if (this.i > ((Example) o).i)
            return 1;
        else if (this.i < ((Example) o).i)
            return -1;
        else
            return 0;
那么和大于小于有什么关系?
2008-03-28 09:20
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
得分:0 
终于懂了。。。郁闷。。
就是基于 对象中某个变量来排序,如果想让他降序就是当大于时候返回-1,升序就是小于时候返回-1,对吧
2008-03-30 02:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-203311-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.189932 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved