List集合實現自定義排序
List自定義排序根據Collections.sort過載方法來實現,實現Comparable介面。
實現Comparator ,重寫compare方法。
public class DataSort implements Comparator<Student>{ /** * 重寫方法 實現自定義排序 */ @Override public int compare(Student o1, Student o2) { int i = o1.getAge() - o2.getAge();//按照年齡排序(從小到大) //年齡相等的情況下 if(i == 0){ return 0; } return i; } public static void main(String[] args) { List<Student> students = new ArrayList<Student>(); students.add(new Student(11)); students.add(new Student(21)); students.add(new Student(31)); students.add(new Student(22)); students.add(new Student(15)); students.add(new Student(27)); for(Student stu : students) { System.out.println("age:" + stu.getAge()); } Collections.sort(students,new DataSort()); //排序 for(Student stu : students) { System.out.println("age:" + stu.getAge()); } } }
student類:
public class Student {
private int age;
public Student(int age) {
super();
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}