Чтобы быть ясным, я пытаюсь выяснить, как метод Collections.sort (list, new MyComp()) вызывает метод сравнения, в котором последовательность.Как работает Collections.sort (...)?
У меня есть LinkedList с сотрудниками и их персональный номер (к): Числа: {1,2,3,4,5,6} метод сравнения (o1 объекта, о2 объекта) в MyComparator возвращает некоторое количество (что не относится к этой проблеме). Как сортирует метод sort()? Вызывает ли это его с параметрами 1,2, затем 2,3, затем 3,4, затем 4,5, затем 5,6? Я отлаживаю его, но есть странная последовательность, где он отскакивает назад, а также сравнивает 1,3.
Что именно он сравнивает? Любой шаблон?
Он делает любую последовательность вызовов 'compare', которые она находит полезной. Вы не можете полагаться на заказ. – user2357112
В javadoc говорится, какой алгоритм он использует: http://docs.oracle.com/javase/8/docs/api/java/util/List.html#sort-java.util.Comparator-. И исходный код доступен. Но на самом деле вам не нужно заботиться. Пока ваш компаратор соблюдает контракт интерфейса Comparator, ваш список будет отсортирован. –