Collections.reverse()为什么不能将数组元素的顺序颠倒
求教:Collections.reverse()为什么不能将数组元素的顺序颠倒?
我将10个随机数存入int数组a,然后用Arrays.sort(a)排序,想再用Collections.reverse(Arrays.asList(a))将其排成降序,但是没有成功,输出的还是升序,哪位帮忙看看是什么原因,源代码如下:
import java.util.*;
public class Exe1111
{
public static void main(String[] args)
{
int[] a = new int[10];
Random rd = new Random();
for(int i=0; i<10; i++)
{
a[i] = rd.nextInt(10000);
System.out.println(a[i]);
}
Arrays.sort(a);
for(int j=0; j<10; j++)
{
System.out.println("asc:" + a[j]);
}
Collections.reverse(Arrays.asList(a));
System.out.println(Arrays.toString(a)); //输出的字符串中的数字顺序与使用Arrays.sort(a)后一样,都是升序,为什么啊?
}
}
------解决方案--------------------
我将10个随机数存入int数组a,然后用Arrays.sort(a)排序,想再用Collections.reverse(Arrays.asList(a))将其排成降序,但是没有成功,输出的还是升序,哪位帮忙看看是什么原因,源代码如下:
import java.util.*;
public class Exe1111
{
public static void main(String[] args)
{
int[] a = new int[10];
Random rd = new Random();
for(int i=0; i<10; i++)
{
a[i] = rd.nextInt(10000);
System.out.println(a[i]);
}
Arrays.sort(a);
for(int j=0; j<10; j++)
{
System.out.println("asc:" + a[j]);
}
Collections.reverse(Arrays.asList(a));
System.out.println(Arrays.toString(a)); //输出的字符串中的数字顺序与使用Arrays.sort(a)后一样,都是升序,为什么啊?
}
}
------解决方案--------------------
- Java code
int[] a = new int[10]; ... Arrays.asList(a); //关键在这句,asList 把 a 包装成了一个长度为 1 元素类型为 int[] 的 List 了。 //下面代码能验证 List list = Arrays.asList(a); System.out.println(list.size()); //结果为 1 System.out.println(list.get(0)); //结果为 [I@de6ced
------解决方案--------------------