Java Array.sort的六种常用方法总结
Posted 卉卉今天吃什么
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Array.sort的六种常用方法总结相关的知识,希望对你有一定的参考价值。
Arrays.sort()的六种用法
一:直接用,升序排序
/**
* 用法一,升序排序
*/
int[] nums1 = new int[]{4, 6, 8, 0, 5, 9, 7, 2, 1, 3};
Arrays.sort(nums1);
二:传入参数 fromIndex、toIndex,部分升序排序
/**
* 用法二,部分升序排序
*/
int[] nums2 = new int[]{4, 6, 8, 0, 5, 9, 7, 2, 1, 3};
Arrays.sort(nums2, 0, 3);
三:重写比较器Comparator,降序排序
/**
* 用法三,降序排序
*/
Integer[] nums3 = new Integer[]{4, 6, 8, 0, 5, 9, 7, 2, 1, 3};
Arrays.sort(nums3, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
});
四:结合二和三(传参 + 重写),部分降序排序
/**
* 用法四,部分降序排序
*/
Integer[] nums4 = new Integer[]{4, 6, 8, 0, 5, 9, 7, 2, 1, 3};
Arrays.sort(nums4, 0, 3, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
});
五:二维数组的特殊排序
/**
* 用法五,二维数组排序
* 根据nums5[i][0]排序, 若num5[i][0]相同,则根据nums5[i][1]排序
*/
int[][] nums5 = new int[][]{{1, 3}, {1, 2}, {4, 5}, {3, 7}};
Arrays.sort(nums5, 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];
}
}
});
六:与五一样,写法不同
/**
* 用法六,与用法五一样,写法不同
*/
int[][] nums6 = new int[][]{{1, 3}, {1, 2}, {4, 5}, {3, 7}};
Arrays.sort(nums6, (a,b) -> (a[0]==b[0] ? a[1] - b[1] : a[0] - b[0]));
输出结果
待补充
以上是关于Java Array.sort的六种常用方法总结的主要内容,如果未能解决你的问题,请参考以下文章