Документация дает ответы на оба ваших вопроса:
Этот алгоритм обеспечивает гарантированную производительность n log (n).
Сортировка слиянием не имеет патологическихслучаи быстрой сортировки
Еще одним преимуществом сортировки слиянием по сравнению с быстрой сортировкой является стабильность сортировки слиянием;Быстрая сортировка обычно нестабильна.(Очевидно, что при достаточных усилиях вы можете сделать стабильным, но я считаю, что сделать это относительно дорого.)
Это позволяет избежать журнала n 2 (n) производительность, которая может возникнуть в результате попытки отсортировать связанный список на месте.
Сначала копирование в массив означает, что вы не полагаетесь на сложность доступа исходной коллекции к отдельным элементам.Я полагаю, что может посмотреть, реализует ли список RandomAccess
и отсортировать по месту, если так, но RandomAccess
был введен только в 1.4.