| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1555 人关注过本帖
标题:[求助]对文件内容排序的问题
只看楼主 加入收藏
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
收藏
得分:0 
首先为什么ArraysSort 类要实现Comparable接口,
那是因为要用到Arrays.sort(Object obj)方法,
因为sort(Object obj)方法API里明确写出数组中的所有元素都必须实现 Comparable 接口!

--------------------------------上面这段话说的对吗?如果不对下面的话就没有必要再看了----------------------------------

下面来具体看purana是怎么来实现Comparable中的compareTo方法的

public int compareTo(Object obj)
{
ArraysSort arrSort=(ArraysSort)obj;
if(intKey>arrSort.intKey) return 1;
if(intKey<arrSort.intKey) return -1;
return 0;
}

很明确,如果intKey > arrSort.intKey则返回1,但是关键在于,这个compareTo是被Arrays.sort(Object obj)方法所调用的吧?

而此时就是sort方法中的obj一定是arrSort这个对象了,那么arrSort.intKey代表要对比的intKey,那么与之相比较的intKey是哪来的呢?


--------注:在上面话中由于多次提到intKey属性,固而用颜色将其区分开,相同颜色代表同一intKey

我在说's blog   http://www..cn
2007-02-11 14:20
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
Arrays.sort(Object [] obj);
注意这个!!!传入的是对象数组

win32汇编
病毒 加密
目前兴趣所在
2007-02-11 15:07
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
看来你并没认真的看api啊

win32汇编
病毒 加密
目前兴趣所在
2007-02-11 15:07
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
收藏
得分:0 
以下是引用limaoyuan在2007-2-11 14:20:15的发言:
首先为什么ArraysSort 类要实现Comparable接口,
那是因为要用到Arrays.sort(Object[] obj)方法,
因为sort(Object[] obj)方法API里明确写出数组中的所有元素都必须实现 Comparable 接口!

--------------------------------上面这段话说的对吗?如果不对下面的话就没有必要再看了----------------------------------

下面来具体看purana是怎么来实现Comparable中的compareTo方法的

public int compareTo(Object obj)
{
ArraysSort arrSort=(ArraysSort)obj;
if(intKey>arrSort.intKey) return 1;
if(intKey<arrSort.intKey) return -1;
return 0;
}

很明确,如果intKey > arrSort.intKey则返回1,但是关键在于,这个compareTo是被Arrays.sort(Object[] obj)方法所调用的吧?

而此时就是sort方法中的obj一定是arrSort这个对象了,那么arrSort.intKey代表要对比的intKey,那么与之相比较的intKey是哪来的呢?


--------注:在上面话中由于多次提到intKey属性,固而用颜色将其区分开,相同颜色代表同一intKey

少打了个括号,是对象数组也解决不了我现在提出的疑问呀


我在说's blog   http://www..cn
2007-02-11 15:18
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
实现一个自己的sort方法来给那个数组排序,里面用compartTo方法来比较 用冒泡法或者是其他的方法
看你能不能写出了。。。。。。。
把这个方法当作是Arrays.sort(Object [] obj);
只不过人家那个方法是经过优化的
c语言里面都没有这样的排序方法 不都得自己写么 现在有这样的方便怎么反而不明白了呢??
我只能说到这个程度了 毕竟每个人的想法不同
有些东西还是要自己体会的

win32汇编
病毒 加密
目前兴趣所在
2007-02-11 21:54
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
回调啊,回调~
楼主好好看看Thinging in Java的11章吧(3rd).

My BlogClick Me
2007-02-11 23:56
快速回复:[求助]对文件内容排序的问题
数据加载中...
 
   



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

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