Java,Arrays.sort()总结
1.一维数组排序
int[] intArray = new int[]{1,34,5,-9};
Arrays.sort(intArray);
System.out.println(Arrays.toString(intArray));
2.一维数组逆序
Java的Arrays.sort()仅支持对引用数据类型进行自定义排序,如果是基本数据类型(如int类型),将无法使用Comparator进行自定义排序。
可以先正序再reverse
int[] nums = new int[]{1,6,4,55,61,3,5,8,4,2,8,15,61,33};
Arrays.sort(nums);
for (int i = 0; i < nums.length/2; i++) {
int temp = nums[i];
nums[i] = nums[nums.length - 1 - i];
nums[nums.length - 1 - i] = temp;
}
System.out.println(Arrays.toString(nums));
3.二维数组排序
public static void main(String[] args) {
int[][] intvs = {{1, 6}, {2, 3}, {2,1}};
// 按照第一列升序排列,第一列相同时按照第二列降序排列
Arrays.sort(intvs, (a, b) -> {
if (a[0] == b[0]) {
return b[1] - a[1];
}
return a[0] - b[0];
});
for(int[] intv:intvs){
System.out.println(Arrays.toString(intv));
}
}
/*
运行结果:
[1, 6]
[2, 3]
[2, 1]
*/
4.字符串数组排序
String[] strArray = new String[]{"Z", "a", "D","b","N","n"};
//字符串排序(先大写后小写)
Arrays.sort(strArray);
System.out.println(Arrays.toString(strArray)); //[D, N, Z, a, b, n]
//字符串排序(忽略大小写)
Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
System.out.println(Arrays.toString(strArray));//[a, b, D, N, n, Z]
5.字符串按长度排序
String[] strs=new String[10];
Arrays.sort(strs, (String first, String second) ->
{
if(first.length() < second.length()) return -1;
else if(first.length() > second.length()) return 1;
else return 0;
});
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~