1.Arrays.sort(T[] a)
将a按照升序排序
Integer[] a = new Integer[3];
a.add(3);
a.add(2);
a.add(1);
Arrays.sort(a);
//运行结果为1,2,3
2.Arrays.sort(T[] a,int formIndex, int toIndex)
将formIndex~ toIndex区间内的数据升序排列
int[] a = {3,2,4,1,5,0};
Arrays.sort(a, 2, 5);
//运行结果为3,2,0,1,4,5
3.sort(T[] a, Comparator<? supre T> c)
重写compara函数
// 按第一维元素比较二维数组
import java.util.Arrays;
import java.util.Comparator;
public class ArraysSort {
public static void main(String[] args) {
int[][] nums=new int[][]{{1,3},{1,2},{4,5},{3,7}};
//方法一
Arrays.sort(nums,new Comparator<int[]>(){
@Override
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));
}
}
}
// 结果
/*
[1, 2]
[1, 3]
[3, 7]
[4, 5]
*/
// 按照第二维元素比较二维数组
import java.util.Arrays;
import java.util.Comparator;
public class ArraysSort {
public static void main(String[] args) {
int[][] nums=new int[][]{{1,3},{1,2},{4,5},{3,7}};
//方法一
Arrays.sort(nums,new Comparator<int[]>(){
@Override
public int compare(int[] a,int[] b){
if(a[1]==b[1]){ //同样不解
return a[0]-b[0];
}else{
return a[1]-b[1];
}
}
});
//方法二, Lambda 表达式
/*Arrays.sort(nums,(a,b)->a[1]-b[1]);*/
for (int[] num : nums) {
System.out.println(Arrays.toString(num));
}
}
}
// 结果
/*
[1, 2]
[1, 3]
[4, 5]
[3, 7]
*/