Collections.sort内部原理

时间:2022-11-16 14:59:09

Collections.sort排序是通过泛化实现对所有类型的排序,对于基础类型如int,String,按照字符表,数字大小排序,对于自定义类型,通过实现Comparable接口,重写compareto函数自定义比较大小的方式。接收对象类型extents Comparable<? super T>或者Comparator外比较器,Comparable接口的方式比实现Comparator接口的耦合性要强一些。

2.Collections.sort内部调用的是Array.sort方法,对于Arrays类,有两个sort方法,sort(Object)和sort(int)。前者使用的是归并排序,后者是快排。

源码中的优化:

1.短数组使用插入排序快。

2.混乱度排序(通过找出所有的递增递减子数组,判断)