Java 中的sort方法

Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序、查询和修改等操作,下面要说的就是Collections工具类里面排序操作中的sort方法。

首先创建一个list集合,代码如下:

List<Integer> list = new ArrayList<>();

        list.add(2);

        list.add(6);

        list.add(3);

        list.add(5);

        list.add(1);

        list.add(4);

System.out.println("list集合:" + list);

输出结果如图:

  1. sort (List list):根据元素的自然顺序对指定列表按升序进行排序。

例如:直接调用Collections工具类中的sort方法,传入上面创建的list集合作为参数,然后输出,代码如下:

Collections.sort(list);

       System.out.println("sort自然排序:" + list);

结果如图所示:

  1. sort(List list, Comparator c):根据指定比较器产生的顺序对指定列表进行排序,也就是自定义排序,第一个参数是传入的要排序的列表,第二个参数是指定的比较器。

例如:将list列表按降序进行排序,代码如下:

首先创建一个比较器,在这个比较器中定义好排序规则(升序或降序),此处为降序排序:

Comparator<Integer> c = new Comparator<Integer>() {

            @Override

            public int compare(Integer o1, Integer o2) {

                // 升序排序 o1 - o2

                // 降序排序 o2 - o1

                return o2 - o1;

            }

};

然后将这个比较器作为一个参数传递进sort方法:

Collections.sort(list, c);

System.out.println("sort降序排序:" + list);

输出结果如下:

                                            图3

也可以直接在调用sort方法时创建比较器,代码如下:

Collections.sort(list, new Comparator<Integer>() {

            @Override

            public int compare(Integer o1, Integer o2) {

                // 升序排序 o1 - o2

                // 降序排序 o2 - o1

                return o2 - o1;

            }

});

只是写法不同,输出结果一致,如图3所示!

  • 9
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值