У меня есть список объектов, которые мне нужно сортировать по полю, например Score. Не задумываясь, я написал новый класс, который реализует Comparator, который выполняет эту задачу и работает.
Теперь, оглядываясь назад, я задаюсь вопросом, должен ли я вместо этого использовать мой класс для сравнения Comparable вместо создания нового класса, который реализует Comparator. Счет - это единственное поле, на которое будут упорядочены объекты.
-
Что я сделал приемлемым как практика?
-
Правильный подход "Сначала нужно реализовать класс Comparable (для естественного упорядочения), и если требуется альтернативное сопоставление полей, тогда создайте новый класс, который реализует Comparator"?
-
Если (2) выше верно, то означает ли это, что следует реализовать Компаратор только после того, как у них есть реализация класса Comparable? (Предполагая, что у меня есть оригинальный класс).