1、Arrays.sort(int[] a) :
这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。
代码演示:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
Arrays.sort(a);
for(int i = 0; i < a.length; i ++) {
System.out.print(a[i] + " ");
}
}
}
结果:0 1 2 3 4 5 6 7 8 9
2、Arrays.sort(int[] a, int fromIndex, int toIndex):
这种形式是对数组部分排序,
也就是对数组a的下标从fromIndex到toIndex-1的元素排序,
注意:下标为toIndex的元素不参与排序
代码演示:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
Arrays.sort(a, 0, 3); //从下标0到下标2进行排序,其他不变
for(int i = 0; i < a.length; i ++) {
System.out.print(a[i] + " ");
}
}
}
原数组:9 8 7 2 3 4 1 0 6 5
结果:7 8 9 2 3 4 1 0 6 5
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 Main {
public static void main(String[] args) {
//注意,要想改变默认的排列顺序,不能使用基本类型(int,double, char)
//而要使用它们对应的包装类
Integer[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
//定义一个自定义类MyComparator的对象
Comparator cmp = new MyComparator();
Arrays.sort(a, cmp);
for(int i = 0; i < a.length; i ++) {
System.out.print(a[i] + " ");
}
}
}
---------------------------------------------------------------------
//Comparator是一个接口,所以这里我们自己定义的类MyComparator要implents该接口
//而不是extends Comparator
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;
}
}
}
总结:
Arrays.sort()的用法
1.用来排序,从小到大
2.部分排序
3.用来排序,从大到小,需要定义接口
4.也可以用来排序字符串数组,排序是按照a到z的字母顺序
作者:KJ.JK
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习