程序员社区

(Java集合面试题)Collections.sort和Arrays.sort的实现原理

Collection.sort是对list进行排序,Arrays.sort是对数组进行排序。

Collections.sort底层实现

Collections.sort方法调用了list.sort方法(Java集合面试题)Collections.sort和Arrays.sort的实现原理插图

list.sort方法调用了Arrays.sort的方法(Java集合面试题)Collections.sort和Arrays.sort的实现原理插图1

因此,Collections.sort方法底层就是调用的Array.sort方法

Arrays.sort底层实现

Arrays的sort方法,如下:

(Java集合面试题)Collections.sort和Arrays.sort的实现原理插图2

如果比较器为null,进入sort(a)方法。如下:

(Java集合面试题)Collections.sort和Arrays.sort的实现原理插图3

因此,Arrays的sort方法底层就是:

  • legacyMergeSort(a),归并排序,
  • ComparableTimSort.sort():即Timsort排序。

Java面试题

赞(0) 打赏
未经允许不得转载:IDEA激活码 » (Java集合面试题)Collections.sort和Arrays.sort的实现原理

一个分享Java & Python知识的社区