Можно ли в методе compareTo сравнивать два поля? Попыталась сравнить то сортирует. Для чего тогда интерфейс comparator???
@Override
public int compareTo(A o) {
if (this.getAge()>o.getAge())
return 1;
else if (this.getAge()<o.getAge())
return -1;
else return this.getName().compareTo(o.getName());
}
Реализация интерфейса Сomparator существует отдельно от объекта, который вы сравниваете. Таким образом вы можете создать несколько разных компараторов, которые будут сравнивать объекты по-разному. Например один компаратор по полю name, другой по полю age, а третий сразу по обоим этим полям. Реализация же интерфейса Сomparable находится в самих объектах, которые вы сравниваете и выбрать какую-то другую его реализацию вы не можете. С другой стороны, если вашы объекты реализуют Сomparable, вы не обязаны использовать какие-то дополнительные компараторы для такого же сравнения.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости