在java数组中Arrays.sort();是排序所用,下面介绍该方法的三种使用
1、 Arrays.sort(int[] array)
public static void main(String[] args) {
int [] array={1,2,3,5,6,42,1,25,12};
Arrays.sort(array);
//正序
for (int i=0;i<array.length;i++){
System.out.print(array[i]+",");
}
System.out.println();
//倒序
for (int i = array.length-1; i >=0; i--) {
System.out.print(array[i]+",");
}
}
2、Arrays.sort(int[] array, int fromIndex, int toIndex);
int fromIndex,int toIndex代表下标;通俗的说是分段进行排序;
例如:Arrays.sort(array, 0, 3);代表将数据从下标0到下标2进行排序,其余代码同上
3、public static <T> void sort(T[] a,int fromIndex, int toIndex, Comparator<? super T> c)
改变默认从小到大排序,改为从大到小;
public static void main(String[] args) {
//Arrays.sort();是默认从小到大排列,要想改变排序方法,不能使用像int等基本数据类型,要使用它们对应的类
Integer [] array={1,2,3,5,6,42,1,25,12};
//定义一个MyComparator自定义类的对象;
Comparator comparator=new MyComparator();
Arrays.sort(array,comparator);
//正序
for (int i=0;i<array.length;i++){
System.out.print(array[i]+",");
}
}
//下面是自定义的MyComparator的对象
import java.util.Comparator;
/**
* Created by Administrator on 2018/9/29.
*/
public class MyComparator implements Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
if(o1 < o2) {
return 1;
}else if(o1 > o2) {
return -1;
}else{
return 0;
}
}
}