Я использую Collection.sort(Array<objectX>, Comperator<objectX>) в Java / Android.
Collection.sort(Array<objectX>, Comperator<objectX>)
В моем компараторе я сравниваю два объекта по их идентификатору.
Как узнать, в каком методе производится сортировка?(быстрая сортировка, слияние ...)?
Технически говоря, какой алгоритм использовать, не указано (другими словами, это специфичная для библиотеки времени выполнения).
С документация :
Например, алгоритм, используемый sort, не обязательно должен быть сортировкой слиянием, но он должен быть стабильным .
sort
На практике он обычно выбирает один из нескольких методов сортировки на основе длины списка и т. Д. В стандартной реализации от Sun / Oracle он выбирает сортировку с вставкой (если длина меньше 7) и сортировку слиянием в противном случае. .
Вы можете посмотреть код, если хотите:
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Collections.java