Был бы ум - будет и успех

  • 8
  • Недоступна
Солдаты всегда строились, строятся и будут строиться по убыванию роста. Отсортируй солдат, предварительно подумав, что лучше использовать при таких условиях - Comparable или Comparator.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (54)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anonymous #3036451
Уровень 31, Falls Church, United States
24 июня, 13:11
Я вот что-то не пойму, как метод compareTo имеет доступ к приватному полю объекта, который передан ему в качестве параметра...
Anonymous #3062817
Уровень 37, Киев, Ukraine
30 июля, 13:23
Таким же образом как и this имеет доступ к приватному полю объекта. Разница только в самих объектах данного класса. Мы же к этому полю обращаемся не из другого класса
Buble76
Уровень 38, Москва, Россия
7 июня, 16:11
Всего эту задачу решили 9087 учеников.
Sergey Kornilov
Уровень 39, Petropavlovsk, Казахстан
24 января, 07:40
Всего эту задачу решили 8692 учеников.
Yarik Таксист в Яндекс.Такси
17 декабря 2021, 19:25
Подумай что лучше использовать. и тут же
4. Класс Soldier должен содержать метод compareTo(Soldier solder).
24 ноября 2021, 07:15
Главное, что я не понял сначала и что сбивало с толку, что для коллекции не нужно вызывать метод sort, а достаточно только переопределить метод compareTo. Ведь этот вид коллекций сортирует свои элементы сразу, при добавлении. :)
Екатерина
Уровень 45, Москва
21 января, 15:09
о, спасибо за коммент)
2DaMoon
Уровень 41
18 сентября 2021, 12:29
После этого видео все стало понятно. Тема очень простая, если в ней разобраться
Максим Дудин
Уровень 39, Калининград
29 июля 2021, 16:12
фигня какая-то в main sout ничего не выводит у меня... Если не проверять валидацию проходит SET При попытке проверить вывод Collections.sort(soldiers); как по лекции выдаёт java: no suitable method found for sort(java.util.Set<com.javarush.task.task26.task2602.Solution.Soldier>) method java.util.Collections.<T>sort(java.util.List<T>) is not applicable (cannot infer type-variable(s) T (argument mismatch; java.util.Set<com.javarush.task.task26.task2602.Solution.Soldier> cannot be converted to java.util.List<T>)) method java.util.Collections.<T>sort(java.util.List<T>,java.util.Comparator<? super T>) is not applicable (cannot infer type-variable(s) T (actual and formal argument lists differ in length)) P.S. а если перевести в list, то эта "ошибища" исчезает soldierList.addAll(soldiers); Collections.sort(soldierList); а вывода (в консоль) всё равно нет😠
Katerina
Уровень 28, Тюмень, Россия
23 мая 2021, 18:12
затупила на том что сортировать надо в порядке убывания, а не возрастания TreeSet на List менять не надо и сортировать потом его не надо, просто реализуем интерфейс как в лекции и все, просто сортировку в методе поменять
Иван
Уровень 41, Рязань, Россия
4 марта 2021, 07:53
Объясните от чего зависит какой интерфейс использовать? из лекции понятно что экземпляры класса, который содержит 1 поле, должны сравниваться Comparable, если полей много то Comparator, или я что то не так понял
Evgeny Siganov QA Automation Engineer в Айтеко
1 апреля 2021, 10:06
у меня например сразу при запуске программы вылетел ClassCastException в в котором говорилось что нужно реализовать Comparable. Видимо это требование множества Set
LuneFox инженер по сопровождению в BIFIT Expert
24 сентября 2021, 15:09
Я думаю, что фишка в том, что Comparator не делает объект сортируемым внутри наборов, но позволяет использовать внешние инструменты для сортировки. Нас здесь конкретно интересует, чтобы сам элемент был пассивно сортируемым по какому-то одному правилу для укладывания в набор.
Vadim
Уровень 36, США
10 января 2021, 21:39
странно что при первом запуске задачи в консоль вывело:
Petrov
Ivanov
Sidorov
а при следующих запусках(около 10) уже выводило правильно, хотя код не менялся, задачу засчитало