importjava.util.ArrayList;importjava.util.Collections;importjava.util.Comparator;publicclassfuxi6_compare{publicstaticvoidmain(String[]args){ArrayList<Students>list=newArrayList<Students>();list.add(newStudents("acc",28));list.add(newStudents("aa",20));list.add(newStudents("ddd",25));list.add(newStudents("eee",22));list.add(newStudents("fff",26));list.add(newStudents("ggg",23));Collections.sort(list);//直接对students对象排序Caipancaipan=newCaipan();//创建裁判对象Collections.sort(list,caipan);//根据裁判来排序System.out.println(list);}}/****直接实现比较接口,重写compareTo方法*/classStudentsimplementsComparable<Students>//记得添加泛型{Stringname;intage;publicStudents(Stringname,intage){this.name=name;this.age=age;}@OverridepublicintcompareTo(Studentso)//重写compareTo,返回值负数、0、正数判断大小{returno.age-this.age;//由大到小排列}/***名字按字母顺序排列,直接调用compareTo方法比较即可*///@Override//publicintcompareTo(Persono)//{//returnthis.name.compareTo(o.name);//}@OverridepublicStringtoString(){return"Students[name="+name+",age="+age+"]";}}/***创建一个裁判来进行比较,裁判需要实现Comparator*/classCaipanimplementsComparator<Students>//必须添加泛型{@Overridepublicintcompare(Studentsstu1,Studentsstu2){returnstu1.age-stu2.age;}}classStudents{Stringname;intage;publicStudents(Stringname,intage){this.name=name;this.age=age;}@OverridepublicStringtoString(){return"Students[name="+name+",age="+age+"]";}}