您的位置:首页 > 其它

自定义类比较大小以及按照规则排序。

2016-05-30 19:57 471 查看
  我们在开发的时候会创建许多对象,而这些对象有时候可能需要排序,排序就需要比较大小,但是java没有提供比较自定义对象大小的方法,所以需要我们自己实现。

  实现比较自定义对象有两种方法,实现接口Comparable或者Comparator,今天我根据我自己的理解讲讲如何实现Comparable接口来比较自定义对象的大小。

  第一步:自定义Person类,并且实现接口Comparable,并且重写接口中的方法 public int compareTo(Object obj)。

class Person implements Comparable {
private int age;
//假设对象根据年龄比较大小,且排序顺序为降序。
@override
public int compareTo(Object obj){
//异常判断
if(null == o){
throw new NullPointerException("所比较对象不能为空");
}

Person p = (Person)o;
return obj.age - this.age;
}
}


第二步:外部调用


public static void main(String[] args){
Person p1 = new Person(4);
Person p2 = new Person(6);
Person p3 = new Person(1);
Person[] ps = new Person[3];
ps[0] = p1;
ps[1] = p2;
ps[2] = p3;
//如果使用系统自带的排序方法,就必须要实现Comparable接口。
Array.sort(ps);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: