java的int数组和List列表逆序排序(装箱为Integer类型)

一、List的逆序排序Collections.sort(list)

List 逆序使用lambda表达式,Collections.sort(list); ,且使用System.out.println(list)可以直接打印出来,不过是带有[]

List<Integer> list = new ArrayList<>();
list.add(2);
list.add(3);

Collections.sort(list);   // 默认从小到大
System.out.println(list);

Collections.sort(list, (a, b)->b-a);   // 从大到小
System.out.println(list);

在这里插入图片描述

二、int[]数组的逆序排序Arrays.sort

Arrays.sort(int[])只有正序排序,但是没法逆序排序,加Comparator也不行,因为它要求元素是对象而不是基础数据类型。

加Comparator,其他类型的数组或者 int[][] 的数组是可以成功的,例如二维int数组

在这里插入图片描述

但是我们如果对一维数组逆序排序,就需要将int转为Integer再用Comparator去逆序,最后转回int数组。

Integer[] arr = new Integer[]{2, 3};
Arrays.sort(arr);
Arrays.sort(arr, (a, b)->b-a);
for (int num : arr) {   // 自动拆箱为int
    System.out.print(num + " ");
}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值