当前位置: 代码迷 >> 综合 >> Java Arrays.sort()对int[],char[]等基本类型数组降序排列
  详细解决方案

Java Arrays.sort()对int[],char[]等基本类型数组降序排列

热度:21   发布时间:2023-12-04 02:33:07.0

今天leetcode刷题时,需要对char[]进行降序排列,

按照平常的想法,于是就这么写了

Arrays.sort(a, (c1, c2) -> c2.compareTo(c1));

但是竟然报错,我百度了半天,得到下面的答案:

1、int[],double[],char[]等基数据类型的数组,Arrays类之只是提供了默认的升序排列,没有提供相应的降序排列方法。

2、要对基础类型的数组进行降序排序,需要将这些数组转化为对应的封装类数组,如Integer[],Double[],Character[]等,对这些类数组进行排序。

所以上面这段代码可以这么写:

Arrays.sort(b);
for (int i = 0, j = b.length - 1; i < j; i++, j--) {char tmp = b[i];b[i] = b[j];b[j] = tmp;
}

即先升序,然后再逆转。