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就会成功排序么? 展开
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就会成功排序么? 展开
3个回答
2010-11-28
展开全部
compareTo的确是返回一个(-1,0,1)的值。
PriceComparator 类的compare方法调用compareTo,他的返回值也是(-1,0,1)中的一个。
Collections.sort方法就是按照PriceComparator 类的compare方法来比较list的各个元素,进行排序。
Collections.sort的源码我没有看过,不知道他具体使用什么方法排序,不过排序算法就那么几类:选择排序、插入排序、交换排序。估计是快速排序吧。
PriceComparator 类的compare方法调用compareTo,他的返回值也是(-1,0,1)中的一个。
Collections.sort方法就是按照PriceComparator 类的compare方法来比较list的各个元素,进行排序。
Collections.sort的源码我没有看过,不知道他具体使用什么方法排序,不过排序算法就那么几类:选择排序、插入排序、交换排序。估计是快速排序吧。
展开全部
PriceComparator()这个类的具体代码是什么啊?这样子完全看不懂的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用woguolirui的回答:
compareTo的确是返回一个(-1,0,1)的值。
PriceComparator 类的compare方法调用compareTo,他的返回值也是(-1,0,1)中的一个。
Collections.sort方法就是按照PriceComparator 类的compare方法来比较list的各个元素,进行排序。
Collections.sort的源码我没有看过,不知道他具体使用什么方法排序,不过排序算法就那么几类:选择排序、插入排序、交换排序。估计是快速排序吧。
compareTo的确是返回一个(-1,0,1)的值。
PriceComparator 类的compare方法调用compareTo,他的返回值也是(-1,0,1)中的一个。
Collections.sort方法就是按照PriceComparator 类的compare方法来比较list的各个元素,进行排序。
Collections.sort的源码我没有看过,不知道他具体使用什么方法排序,不过排序算法就那么几类:选择排序、插入排序、交换排序。估计是快速排序吧。
展开全部
是用插入排序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询