| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1467 人关注过本帖
标题:对于对象的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
快速回复:对于对象的sort排序。
数据加载中...
 
   



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

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