1. 程式人生 > >Arrays和Collections 對於sort的不同實現原理

Arrays和Collections 對於sort的不同實現原理

詳見:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp46

1、Arrays.sort()
該演算法是一個經過調優的快速排序,此演算法在很多資料集上提供N*log(N)的效能,這導致其他快速排序會降低二次型效能。
2、Collections.sort()
該演算法是一個經過修改的合併排序演算法(其中,如果低子列表中的最高元素效益高子列表中的最低元素,則忽略合併)。此演算法可提供保證的N*log(N)的效能,此實現將指定列表轉儲到一個數組中,然後再對陣列進行排序,在重置陣列中相應位置處每個元素的列表上進行迭代。這避免了由於試圖原地對連結列表進行排序而產生的n2 log(n)效能。