将一组对象按对象的某一属性,对对象进行排序的代码如下:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* @from www.ityuan.com
* @Description: 使用Comparable,对一组学生对象,根据年龄从小到大排序
*/
class Student implements Comparable{
private Integer age;
private String name;
public Student(Integer age,String name) {
this.age = age;
this.name = name;
}
@Override
public int compareTo(Object o) {
Student student = (Student)o;
return this.getAge() - student.getAge();
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class ComparableSort {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
List list = new ArrayList();
list.add(new Student(30,"student30"));
list.add(new Student(40,"student40"));
list.add(new Student(10,"student10"));
list.add(new Student(20,"student20"));
Collections.sort(list);
for (Student s : list) {
System.out.println(s.getName());
}
}
}
执行结果如下:
student10
student20
student30
student40