Почему реализация сортировки Java преобразует список в массив перед сортировкой?

В JDK 1.8 первое утверждение метода java.util.List#sort(Comparator) выглядит следующим образом:

Object[] a = this.toArray();

Дорого копировать список в массив, сортировать его и сбрасывать каждый узел списка в отсортированное значение из массива.

Кажется, что возможно не копировать значения во временный массив при сортировке ArrayList. Я прав? Если нет, то чем руководствовались создатели метода?

8
задан seh 17 May 2015 в 19:54
поделиться