1、升序
package 做题;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) throws Exception
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int []a = new int [n + 10];
for(int i = 0 ; i < n ; i ++) a[i] = sc.nextInt();
Arrays.sort(a,0,n);
for(int i = 0 ; i < n ; i ++) System.out.printf("%d ",a[i]);
}
}
2、降序
法1、手写cmp
package 做题;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
// 定义一个自定义类MyComparator的对象
Comparator cmp = new MyComparator();
int n = sc.nextInt();
//注意,要想改变默认的排列顺序,不能使用基本类型(int,double,char)而要使用它们对应的类
Integer[] a = new Integer [n + 10];
for(int i = 0 ; i < n ; i ++) a[i] = sc.nextInt();
Arrays.sort(a, 0, n, cmp);
for(int i = 0 ; i < n ; i ++) System.out.printf("%d ",a[i]);
}
}
//实现Comparator接口
class MyComparator implements Comparator<Integer>
{
public int compare(Integer o1, Integer o2)
{
//如果o1小于o2,我们就返回正值,如果o1大于o2我们就返回负值, 这样颠倒一下,就可以实现降序排序了,反之即可自定义升序排序了
return o2 - o1;
}
}
package 做题;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Integer[] a = { 1,2,3,4,5 }; // 数组类型为Integer
Arrays.sort(a, Collections.reverseOrder());
for (int arr : a) System.out.print(arr + " ");
}
}