java实现Comparable接口排序
public class Student implements Comparable<Student> { private int name; private int age; public Student() { } public Student(int name, int age) { this.name = name; this.age = age; } public int getName() { return name; } public void setName(int name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public int compareTo(Student o) { if (this.age > o.age) return -1;// 由高到底排序 else if (this.age < o.age) return 1; else { if (this.name > o.name) return 1;// 由低到高排序 else if (this.name < o.name) return -1; else return 0; } } public static void main(String[] args) { Set<Student> set = new TreeSet<Student>(); set.add(new Student(10, 15)); set.add(new Student(30, 15)); set.add(new Student(20, 30)); set.add(new Student(10, 20)); set.add(new Student(80, 20)); Iterator<Student> it = set.iterator(); while (it.hasNext()) { Student customer = it.next(); System.out.println(customer.getName() + " " + customer.getAge()); } } } ---------------------------------------------------------------------------------------------------------------------------------------------------------------- 20 30 10 20 80 20 10 15 30 15