高分悬赏;Java语言怎么利用sort函数实现数组的排序,将数组按照从大到小的顺序排列

高分悬赏;Java语言怎么利用sort函数实现数组的排序,将数组按照从大到小的顺序排列

问题描述:

高分悬赏;Java语言怎么利用sort函数实现数组的排序,将数组按照从大到小的顺序排列

在Arrays的方法中的Arrays.sort()排序中,默认为从小到大的排序,如果想用Arrays.sort()从大到小的顺序排列,则需要用到Comparator比较器接口;

实现java.util.Comparator;

package  java.util;

public interface Comparator

{

int compare(T o1,T o2);

boolean equals(Object obj);//这是Comparator接口的两个函数,接口无方法体

}
1:如果要实现comparator接口必须实现int compare(To1,To2)函数,而另一个可以不实现

2:int compare(To1,To2)是比较o1,o2的大小,如果返回值是负数,则o1小于o2;返回0,则相等,返回正数则o1大于o2;

Random rd = new Random();

Integer[] array =new Integer[15]; //声明数组

System.out.println("没有使用sort方法前的数组:");

for(int i = 0; i < array.length; i++) {

array[i] = rd.nextInt(25); //利用随机数随意产生15个0~25之间的随机数

System.out.print(" "+array[i]); //给array数组赋值

if ((i+1)%5==0) {

System.out.println();

}

}

Arrays.sort(array,Collections.reverseOrder()); //对array数组进行升序排序

    System.out.println("\n使用sort方法后的数组:");        
    for(int i = 0; i < array.length; i++) { //将array数组中的数据输出          
        System.out.print(" "+array[i]);         
        if ((i+1)%5==0) {               
            System.out.println();           
        }       
    }