List.sort() 如何实现升序,降序排列 2020.8.6

下面的代码向一个list集合中加入三个数,然后分别升序、降序排列,打印。
注意:o1表示后面的一个数,o2表示前面的一个数,-1表示交换位置,1表示不交换

@Test
    public void test() {
     
        List<Integer> list = new ArrayList<>();
        list.add(3);
        list.add(1);
        list.add(2);
        print_list(list);

        //降序排列
        list.sort(new Comparator<Integer>() {
     
            @Override
            public int compare(Integer o1, Integer o2) {
     
                //o1 代表后面一个数 o2代表前面一个数
                if (o1 > o2)return -1; //-1表示交换两个数的位置 所以这里实现的是降序排列
                else return 1;
            }
        });
        print_list(list);
        
        //升序排列
        list.sort(new Comparator<Integer>() {
     
            @Override
            public int compare(Integer o1, Integer o2) {
     
                if (o1 < o2) return -1; //-1代表交换两个数的位置
                else return 1;
            }
        });
        print_list(list);
    }

    public void print_list(List<Integer> list) {
     
        for (Integer i : list) {
     
            System.out.print(i);
            System.out.print(" ");
        }
        System.out.println();
    }


打印结果如下图所示:

List.sort() 如何实现升序,降序排列 2020.8.6_第1张图片

你可能感兴趣的:(java)