2016-01-14 3 views
0

Я хочу отсортировать список Java, состоящий из элементов класса, реализующего интерфейс Comparable, и имеет свой собственный метод compareTo. Что происходит, когда два объекта «равны» (compareTo() возвращает 0) при сравнении. Какой из них заканчивается перед другим в списке?Java Collections sort() равные объекты

+0

Почему это имеет значение, если они равны (согласно 'compareTo()')? – Kayaman

+0

Что происходит, когда вы проверяете это поведение? Ты это пробовал? –

ответ

5

Документах для Collections.sort * указать, что это стабильный сорт, который означает, что в случае равенства, элементы остаются в том же относительном порядке:

Этот сорт гарантированно будет стабильной : равные элементы не будут переупорядочены в результате сортировки.


* оба перегруженных

1

Javadoc говорит: Этот сорт гарантированно стабильные: равные элементы не будут заказаны в результате сортировки.

1

Выполняется Java sort Внештатствие обязательств Стабильный. Это означает, что объекты, которые сравниваются как равные, будут отображаться в том же порядке в отсортированных потерянных, как они были в оригинале.

Смежные вопросы