任何类只要实现了Comparable接口就可以调用java提供的Array.sort()函数或是是Collections.sort()函数对一个对象列表排序,在重写Comparable中的函数是我们可以自定义对列表的排序方式,比如要对一个学生列表先按年龄排序,然后如果年龄相同的话就按姓名的字典序排序,甚至可以添加更多的排序条件。一些就以这个例子用java代码简单实现一下。
我们要对学生排序,首先就要定义学生Student对象,并且要实现Comparable接口,从字面上就能很明显的看出,只有实现了该接口才有可比性嘛!哈哈
定义Student类:
<pre name="code" class="java">class Student implements Comparable<Student> {//因为在ArrayList中使用了泛型,所以要在此用<>表明类型,比如是对String类实现的接口就写String
String name;
int age;
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public int compareTo(Student tempStudent) {//从写接口中的函数
if (this.age