Collections集合工具类的方法_sort
Collections集合工具类的方法_sort
sort(List<T> list):将集合中元素按照默认规则排序。
public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); list.add(1); list.add(3); list.add(4); list.add(2); System.out.println(list); Collections.sort(list); System.out.println(list); }
如果传入自定义的必须实现Comparable,重写接口中的方法compareTo定义排序的规则
sort(List<T> list, Comparator<? super T>):将集合中元素按照指定规则排序。
Comparator和Comparable的区别
Comparable:自己(this)和别人(参数)比较,自己需要实现Comparable接口,重写比较的规则compareTo方法
Comparator:相当于找一个第三方的裁判,比较两个。
public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); list.add(1); list.add(3); list.add(4); list.add(2); System.out.println(list); Collections.sort(list, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { // return o1-o2;//升序 return o2-o1;//降序 } }); System.out.println(list); ArrayList<Student> list1 = new ArrayList<>(); list1.add(new Student("张三",11)); list1.add(new Student("李四",13)); list1.add(new Student("王五",12)); System.out.println(list1); Collections.sort(list1, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { return o1.getAge()-o2.getAge(); } }); System.out.println(list1); }