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);

    }

 

 

 

posted @ 2022-07-06 16:57  魔光领域  阅读(20)  评论(0编辑  收藏  举报