java Arrays.sort () implemented in descending order

I also learned Baidu, 2333 ~~~

Collections reverseOrder method of use:
	public void CollectionsSort() {
		Arrays.sort(arr,Collections.reverseOrder());
		for(Integer x:arr)
			System.out.print(x+" ");
	}
Comparator interface using replication methods compare:
public void ComparatorSort() {
		Comparator cmp=new MyComparator();
		Arrays.sort(arr,cmp);
		for(Integer x:arr)
			System.out.print(x+" ");
	}
	//实现Comparator接口
public class MyComparator implements Comparator<Integer> {

	@Override
	public int compare(Integer arg0, Integer arg1) {
		// TODO 自动生成的方法存根
		return arg0 > arg1 ? -1 : 1;
	}

}

Example: Implementing descending random number between 10-90

package work;

import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;

public class TestSort {

	public Integer arr[]=new Integer [10];
	
	public void creatArr() {
		for(int i=0;i<arr.length;i++)
			arr[i]=(int)(Math.random()*90+10);
	}
	//利用Collections的reverseOrder方法:
	public void CollectionsSort() {
		Arrays.sort(arr,Collections.reverseOrder());
		for(Integer x:arr)
			System.out.print(x+" ");
	}
	//利用Comparator接口复写compare方法:
	public void ComparatorSort() {
		Comparator cmp=new MyComparator();
		Arrays.sort(arr,cmp);
		for(Integer x:arr)
			System.out.print(x+" ");
	}
	public static void main(String[] args) {
		TestSort ts=new TestSort();
		ts.creatArr();
		ts.CollectionsSort();
		//ts.ComparatorSort();
	}
	
}
//实现Comparator接口
public class MyComparator implements Comparator<Integer> {

	@Override
	public int compare(Integer arg0, Integer arg1) {
		// TODO 自动生成的方法存根
		return arg0 > arg1 ? -1 : 1;
	}

}
package exam4;

import java.util.*;

public class Arr {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根

        Scanner reader = new Scanner(System.in);
        int n = reader.nextInt();
        Integer[] arr = new Integer[n];
        for (int i = 0; i < n; i++) {
            arr[i] = (int) (Math.random() * 90 + 10);
        }
        Arrays.sort(arr, new Comparator<Integer>() {
            public int compare(Integer a, Integer b) {
                return b-a;
            }
        });
        for (int x : arr)
            System.out.print(x + " ");

    }

}

Published 77 original articles · won praise 19 · views 10000 +

Guess you like

Origin blog.csdn.net/qq_43488547/article/details/103173351
Recommended