复习了Java数组之后,突然Arrays里面有一个sort是针对数组排序的。。。然后就看了看它的简单用法!!!
Java的Arrays类中有一个sort()方法,该方法是Arrays类的静态方法,在需要对数组进行排序时,非常的好用。
但是sort()的参数有好几种,下面我就为大家一一介绍,这几种形式的用法。
- Arrays.sort(int[] a)
这种形式是对于一个数组的元素进行排序,按照从小到大的顺序
举例
import java.util.Arrays;
public class sort1 {
public static void main(String args[]) {
int[] a= {9,8,7,6,4,5,3,1,2};
Arrays.sort(a);
for(int i=0;i<a.length;i++) {
System.out.print(a[i]+"");
}
}
}
运行结果如下:
123456789
- Arrays.sort(int [] a,int fromIndex,int toIndex)
这种形式是对数组部分排序,也就是对数组a的下标从fromIndex到toIndex-1的元素排序,注意:下标为toIndex的元素不参与排序哦!
举例
import java.util.Arrays;
public class sort2 {
public static void main(String args[]) {
int[] a= {9,2,5,1,6,1,4,3,};
Arrays.sort(a,0,3);
for(int i=0;i<a.length;i++) {
System.out.print(a[i]+"");
}
}
}
运行结果如下:
25916143
/前3个元素按照从小到大的顺序排列/
- public static void sort(T[] a,int fromIndex, int toIndex, Comparator<? super T> c)
上面有一个拘束,就是排列顺序只能是从小到大,如果我们要从大到小,就要使用这种方式
举例
import java.util.Arrays;
import java.util.Comparator;
public class sort3 {
public static void main(String args[]) {
Integer[] a= {9,5,6,1,3,2,4,7,8,0};
Comparator cmp=new MyComparator();
Arrays.sort(a);
for(int i=0;i<a.length;i++) {
System.out.print(a[i]+"");
}
}
}
class MyComparator implements Comparator<Integer>{
@Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
if(o1<o2) {
return 1;
}
else if(o1>o2) {
return -1;
}else {
return 0;
}
}
}
运行结果如下:
0123456789