TreeSet中的compareTo()方法

在开发中,我们往往要用到自定义的对象,这些对象存在于集合中,自定义对对象进行排序,必须要实现CompareTo方法,并且类要用到接口的继承 implements Comparable<自定义类名>

// 规定对象的比较规则
public int compareTo(Student o) {
// TODO Auto-generated method stub

return 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);//如果品牌名不一样 就按照品牌名字符串进行比较
}

猜你喜欢

转载自blog.csdn.net/qq_39497607/article/details/81489715