В чем разница между интерфейсами Comparable и Comparator?
Основное различие между интерфейсами Comparable и Comparator заключается в том, что в Comparable «зашит» один-единственный алгоритм сравнения объектов, в то время как Comparator представляет собой внешнюю заменяемую настройку. Архитектурно, Comparable — это интерфейс значения, в то время как Comparator — настройка контейнера.
Следует использовать Comparable, когда задается естественный (наиболее логичный) порядок. Например, для строк это регистрозависимое лексикографическое сравнение, а для длинных чисел — сравнение по значению. Во всех остальных случаях — без отдельного компаратора не обойтись.
Post #161
1.91K
- 👍 8
- 🤯 3