在开发中,我们往往要用到自定义的对象,这些对象存在于集合中,自定义对对象进行排序,必须要实现CompareTo方法,并且类要用到接口的继承 implements Comparable<自定义类名>
// 规定对象的比较规则
public int compareTo(Student o) {
// TODO Auto-generated method stubreturn this.id.compareTo(o.id);
}
很明显这样的一个简单的函数是将对象的id属性值拿来比较,如果这个函数返回值为1,也就是说这个集合中对象是按照id值升序排列的(this.id>o.id);
下面这个函数可以加强理解:
public int compareTo(Phone o) {
// TODO Auto-generated method stub// 如果按照brand比较
// return this.brand.compareTo(o.brand);
// 按照price比较
// double result = this.price - o.price;
// return (int)result;
if (this.brand.compareTo(o.brand) == 0) {
double result = this.price - o.price;//如果品牌名一样,就按照价格比较
return (int)result;
}return this.brand.compareTo(o.brand);//如果品牌名不一样 就按照品牌名字符串进行比较
}
本文介绍了如何在Java中通过实现Comparable接口来对自定义对象进行排序。通过具体的代码示例,展示了如何根据不同属性(如id、brand和price)来进行对象间的比较。
2181

被折叠的 条评论
为什么被折叠?



