Отличие Comparable от Comparator при сортировке объектов заключается в следующем:
- Comparable определяет естественный порядок объектов внутри класса. www.geeksforgeeks.org Интерфейс должен быть реализован в классе, который будет использоваться для сортировки. javarush.com При использовании Comparable можно сортировать только по одному атрибуту. javarush.com
- Comparator определяет внешнюю логику сортировки. www.geeksforgeeks.org Интерфейс не обязательно должен быть реализован в исходном классе, его можно реализовать и в отдельном классе. javarush.com Используя Comparator, можно сортировать список на основе различных атрибутов в соответствии с требованиями. javarush.com
Таким образом, Comparable используется для определения естественного упорядочения на основе одного атрибута, а Comparator — для реализации собственной сортировки на основе нескольких атрибутов. javarush.com