大数类排序
import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
BigInteger a[]={BigInteger.valueOf(5), BigInteger.valueOf(5), BigInteger.valueOf(7),
BigInteger.valueOf(2), BigInteger.valueOf(0)};
Comparator cmp = new MyComparator();
Arrays.sort(a, cmp);
System.out.println(Arrays.toString(a));
}
static class MyComparator implements Comparator<BigInteger>//从大到小排序
{
@Override
public int compare(BigInteger o1, BigInteger o2) {
if(o1.compareTo(o2)<=0)
return 1;
else if(o1.compareTo(o2)==0)
return 0;
else
return -1;
}
}
}
int型排序
import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
//注意,要想改变默认的排列顺序,不能使用基本类型(int,double, char)
Integer [] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
Comparator cmp = new MyComparator();
Arrays.sort(a, cmp);
for(int i = 0; i < a.length; i ++) {
System.out.print(a[i] + " ");
}
}
static class MyComparator implements Comparator<Integer>{
@Override
public int compare(Integer o1, Integer o2) {
//如果o1小于o2,我们就返回正值,如果o1大于o2我们就返回负值,
//这样颠倒一下,就可以实现反向排序了
if(o1 < o2) {
return 1;
}else if(o1 > o2) {
return -1;
}else {
return 0;
}
}
}
}
double型
import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
//注意,要想改变默认的排列顺序,不能使用基本类型(int,double, char)
Double [] a = {9.5, 8.1, 7.4, 2.0, 3.02, 4.16, 1.01, 0.0, 6.1, 5.5};
Comparator cmp = new MyComparator();
Arrays.sort(a, cmp);
for(int i = 0; i < a.length; i ++) {
System.out.print(a[i] + " ");
}
}
static class MyComparator implements Comparator{
@Override
public int compare(Object o1, Object o2) {
//如果o1小于o2,我们就返回正值,如果o1大于o2我们就返回负值,
//这样颠倒一下,就可以实现反向排序了
double t1=(double)o1;
double t2=(double)o2;
if(t1 < t2) {
return 1;
}else if(t1 > t2) {
return -1;
}else {
return 0;
}
}
}
}
原作者:https://blog.youkuaiyun.com/Rain722/article/details/78249548