Получи случайную криптовалюту за регистрацию!

#вопросы_с_собеседований В чем разница между интерфейсами Com | Senior Java Developer

#вопросы_с_собеседований
В чем разница между интерфейсами Comparable и Comparator?

Основное различие между интерфейсами Comparable и Comparator заключается в том, что в Comparable "зашит" один-единственный алгоритм сравнения объектов, в то время как Comparator представляет собой внешнюю заменяемую настройку. Архитектурно, Comparable - это интерфейс значения, в то время как Comparator - настройка контейнера.

Следует использовать Comparable, когда задается естественный (наиболее логичный) порядок. Например, для строк это регистрозависимое лексикографическое сравнение, а для длинных чисел - сравнение по значению. Во всех остальных случаях - без отдельного компаратора не обойтись.