Сегодня я расскажу про интерфейсы Comparable и Comparator в Java:
📗 новая статья на сайте
📺 новое видео на YouTube
Интерфейс Comparable задаёт правила сортировки по умолчанию. Объекты, реализующие этот интерфейс, уже могут сравниваться с помощью стандартных методов сортировки, поиска минимума и максимума. Такие коллекции как TreeMap и TreeSet требуют реализацию интерфейса Comparable, т.к. автоматически сортируют элементы.
Если вам нужно поддерживать несколько различных вариантов сортировки, используйте интерфейс Comparator. Он позволяет объявлять отдельные классы-компараторы под каждый вид сортировки.
Но гораздо удобнее конструировать компараторы «на лету», используя статический метод comparing() интерфейса Comparator. В этом случае вы можете комбинировать несколько полей для сравнения и даже менять порядок сортировки на обратный.
Post #100
281

- 👍 9