有两种方式可以进行集合排序 :
- 集合中对象的所属类实现了 java.lang.Comparable 接口
- 为集合指定比较器 java.lang.Comparator 的实现类
可以看到这里有两个类,进行比较时要调用相应的方法
这两个类区别使用就在于你可不可以对类信息进行修改
下面说说两个类的使用方式
Comparable
class demo implements Comparable {
//如果可以对原生方法进行修改 , 使用Comparable类,覆盖此方法
public int compareTo(Object o) {
// 在进行比较时,会把被比较对象o传入
return 0;
}
}
返回的是一个int类型的值,该值反应了大小情况
Comparator
class demo1 implements Comparator {
//再比较时会传入两个对象,与上述方法道理一致
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
return 0;
}
}
使用这两个类就可以使对象生成比较方法
public static void main(String[] args) {
Arrays.sort(a, c); // 再使用时就可以对方法传入比较器对象,
//这样不具有比较的方法也可以排序了
}
原创文章转载请注明:转载自:Java对象比较器学习
发表评论
沙发空缺中,还不快抢~