java里面的Collections.sort用法

下面两个定义是怎么结合起来成功排序的啊不懂请详解1》Collections.sort(list,newPriceComparator())2》publicintcompa... 下面两个定义是怎么结合起来成功排序的啊 不懂请详解
1》Collections.sort(list, new PriceComparator())
2》public int compare(Object object1, Object object2) {// 实现接口中的方法
Book p1 = (Book) object1; // 强制转换
Book p2 = (Book) object2;
return new Double(p2.price).compareTo( new Double(p1.price));
}
static class PriceComparator implements Comparator {
public int compare(Object object1, Object object2) {// 实现接口中的方法
Book p1 = (Book) object1; // 强制转换
Book p2 = (Book) object2;
return new Double(p1.price).compareTo( new Double(p2.price));
}
}

就是这样哦!!
我的疑惑就是实现了PriceComparator,但是compareto最后不是返回一个(-1,0,1)的值么?用list就会成功排序么?
展开
 我来答
匿名用户
2010-11-28
展开全部
compareTo的确是返回一个(-1,0,1)的值。
PriceComparator 类的compare方法调用compareTo,他的返回值也是(-1,0,1)中的一个。

Collections.sort方法就是按照PriceComparator 类的compare方法来比较list的各个元素,进行排序。
Collections.sort的源码我没有看过,不知道他具体使用什么方法排序,不过排序算法就那么几类:选择排序、插入排序、交换排序。估计是快速排序吧。
hellenhai957x
2010-11-26 · 超过11用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:20.4万
展开全部
PriceComparator()这个类的具体代码是什么啊?这样子完全看不懂的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mr凉快
2018-01-26
知道答主
回答量:11
采纳率:0%
帮助的人:1.2万
引用woguolirui的回答:
compareTo的确是返回一个(-1,0,1)的值。
PriceComparator 类的compare方法调用compareTo,他的返回值也是(-1,0,1)中的一个。

Collections.sort方法就是按照PriceComparator 类的compare方法来比较list的各个元素,进行排序。
Collections.sort的源码我没有看过,不知道他具体使用什么方法排序,不过排序算法就那么几类:选择排序、插入排序、交换排序。估计是快速排序吧。
展开全部
是用插入排序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式