Для назначения Java мне приходится сортировать по длине ArrayList<String>
с использованием интерфейса Comparable
.Строка и сравнимый интерфейс
Что я сделал, и это работает, заключается в создании пользовательского объекта в классе, который реализует Comparable
и устанавливает CompareTo()
для использования длины. Все в порядке, и все работает.
Мне просто интересно, есть ли более простой способ.
Я знаю, что String
в Java уже реализует интерфейс Comparable
. Но естественный порядок лексикографический или алфавитный, а не по длине. Я понятия не имею, как я могу реализовать различный CompareTo()
для экземпляров класса String
без необходимости создания моего объекта. Есть ли способ? Или мне не хватает логики?
(я не могу использовать Comparator
, я должен использовать интерфейс Comparable
.)
Любопытный. Почему вы не могли использовать компаратор? – DeeV
университетское присвоение к сожалению:/ Я тоже этого не понимаю! Весь пример, который я мог найти где с компаратором – jsabina
Это было бы потому, что компаратор является более простым способом, но, похоже, профессор хочет, чтобы вы поняли, как работают надменные и интерфейсы. – DeeV