list sort(Comparator<? super E> c)方法是java1.8提供的新方法,用于list集合排序,使用了Comparator比较器来比较,实现里面的compare方法,compareTo比较之后,返回的参数是int类型,0则表示相等,1表示大于,-1负数则表示小于。
import java.util.ArrayList; import java.util.Comparator; import java.util.List; public class MapDemo { public static void main(String[] args) { // List<Student> list = new ArrayList<Student>(); // list.add(new Student("张三", 30)); // list.add(new Student("王五", 35)); // list.add(new Student("李四", 20)); // list.sort(new Comparator<Student>() { // @Override // public int compare(Student stu1, Student stu2) { // //以下如果改变顺序则调换一下参数位置 // return stu1.getAge().compareTo(stu2.getAge()); // } // // }); // //输出学生从小到大的顺序 // for (Student s : list) { // System.out.println(s.getName()+"==="+s.getAge()); // } List<Integer> list2 = new ArrayList<Integer>(); list2.add(20); list2.add(18); list2.add(30); list2.sort(new Comparator<Integer>() { @Override public int compare(Integer num1, Integer num2) { return num1.compareTo(num2); } }); //输出数字从小到大的顺序 for (Integer num : list2) { System.out.println(num); } } }