该方法是Arrays类的静态方法,用于对数组进行排序,时间复杂度O(n*logn),方法返回值为void。排序后,数组中存放的是排序后的结果。由于该方法是在原来数组的空间基础上进行升序排序,因此不需要定义一个数组接收它,即不需要返回值。
Arrays.sort()重载了四类方法:
对指定T型数组按数字升序排序,例如:
import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { int[] a = {2,5,1,8,12}; Arrays.sort(a); System.out.println(Arrays.toString(a)); } }
运行结果如下:
[1, 2, 5, 8, 12]
对指定T型数组的指定范围按数字升序排序,例如:
import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { int[] a = {8,2,15,4,7,1}; Arrays.sort(a,1,5); System.out.println(Arrays.toString(a)); } }
运行结果如下:
[8, 2, 4, 7, 15, 1]
根据指定比较器产生的顺序对T型数组进行排序。
import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { int[][] nums = new int[][]{{1,3},{5,7},{9,5},{7,3}}; Arrays.sort(nums,new Comparator<int[]>() { public int compare(int[] a,int[] b) { if(a[0]==b[0]) { return a[1]-b[1]; }else{ return a[0]-b[0]; } } }); for(int[] num : nums) System.out.println(Arrays.toString(num)); int[] a = {8,2,15,4,7,1}; Arrays.sort(a,1,5); System.out.println(Arrays.toString(a)); } }
运行结果如下:
[1, 3] [5, 7] [7, 3] [9, 5] [8, 2, 4, 7, 15, 1]
import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { int[][] nums = new int[][]{{1,3},{5,7},{9,5},{7,3}}; Arrays.sort(nums,new Comparator<int[]>() { public int compare(int[] a,int[] b) { if(a[1]==b[1]) { return a[0]-b[0]; }else{ return a[1]-b[1]; } } }); for(int[] num : nums) System.out.println(Arrays.toString(num)); } }
运行结果如下:
[1, 3] [7, 3] [9, 5] [5, 7]
根据指定比较器产生的顺序对T型数组的指定范围进行排序,例如:
import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { int[][] nums=new int[][]{{9,5},{7,3},{5,7},{1,3}}; Arrays.sort(nums,1,4,new Comparator<int[]>() { public int compare(int[] a,int[] b) { if(a[0]==b[0]){ return a[1]-b[1]; } else { return a[0]-b[0]; } } }); for(int[] num : nums) System.out.println(Arrays.toString(num)); } }
运行结果如下:
[9, 5] [1, 3] [5, 7] [7, 3]
本文固定URL:https://www.dotcpp.com/course/893