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;
});
posted @   codeSpiderMan  阅读(230)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示