开发者社区> 问答> 正文

简述Java语言中Arrays.sort底层实现

简述Java语言中Arrays.sort底层实现

展开
收起
huc_逆天 2021-01-08 15:31:31 719 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    Arrays的sort方法,如下:

    public static <T> void sort(T[] a,Comparator<? super T> c) {
    	if(c == null) {
    		sort(a);
    	} else {
    		if(LegacyMergeSort.userRequested) {
    			legacyMergeSort(a,c);
    		} else {
    			TimSort.sort(a,0,a.length,c,null,0,0)
    		}
    	}
    }
    

    如果比较器为null,进入sort(a)方法因此,

    Arrays的sort方法底层就是:

    ​ legacyMergeSort(a),归并排序,

    ​ ComparableTimSort.sort():即Timsort排序。

    2021-01-08 15:31:42
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载