|
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
|
||||||
Сортировка коллекции List с компаратором16.09.2019, 22:53. Показов 11958. Ответов 17
Метки нет (Все метки)
Подскажите пожалуйста как создать компаратор для сортировка ArrayList типа String.
Везде в примерах показана сортировка коллекции с Объектами. Сооветственно создаются классы, объекты итп. У меня по заданию отсортировать список строк по длине. Все делать в main. Список создавать на "лету" хардкодом. Я так и не пойму - разве здесь нужны отдельные классы, где и как иплементировать свой метод compare ?
0
|
||||||
| 16.09.2019, 22:53 | |
|
Ответы с готовыми решениями:
17
Сортировка коллекции List
Сортировка с собственным компаратором |
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|||||||||||
| 16.09.2019, 23:02 | |||||||||||
Сообщение было отмечено SergTN как решение
Решение
SergTN, пойдет? Добавлено через 1 минуту Если развернуть лямбду, то
1
|
|||||||||||
|
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
|
||
| 16.09.2019, 23:18 [ТС] | ||
|
0
|
||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
||||||
| 16.09.2019, 23:27 | ||||||
|
SergTN, что именно? У листа вызывается метод sort, который аргументом может принимать компаратор. Можно создать свой класс-наследник от Comparator в котором переопределяется метод compare(), а можно прямо в аргументе функции создать анонимный класс, что и проделано во втором фрагменте кода. А в первом - то же самое, но с использованием лямбда-выражения (если уж совсем точно, то method reference).
![]() Добавлено через 1 минуту Если просто лямбда, то вот таким образом -
0
|
||||||
|
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
|
|||||||
| 16.09.2019, 23:35 [ТС] | |||||||
|
в нем будет просто переопределение compare?
strList.sort(MyComparator.compare() ) или как?
0
|
|||||||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
||||||||||||
| 16.09.2019, 23:41 | ||||||||||||
Ну а если много раз будет вызываться сортировка, то создать объект твоего компаратора и использовать его
0
|
||||||||||||
|
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
|
||
| 16.09.2019, 23:42 [ТС] | ||
|
А в классе myComparator я все правильно написал?
0
|
||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|||
| 16.09.2019, 23:48 | |||
|
Добавлено через 4 минуты
0
|
|||
|
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
|
||
| 16.09.2019, 23:52 [ТС] | ||
|
0
|
||
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
||
| 16.09.2019, 23:56 | ||
|
1
|
||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 17.09.2019, 01:06 | |
|
SergTN, возьми и напиши сортировку пузырьком, сделай, чтобы сравнение происходило с помощью компаратора, внезапно все сразу поймёшь
0
|
|
|
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
|
|
| 17.09.2019, 20:16 [ТС] | |
|
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 17.09.2019, 20:28 | |
|
сортировку напиши - покажу
0
|
|
|
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
|
||||||
| 17.09.2019, 21:14 [ТС] | ||||||
|
Делал в одном из заданий
0
|
||||||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 17.09.2019, 21:32 | |
|
equipment[i].power > equipment[j]
Вместо этого вставь компаратор
0
|
|
|
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
|
|
| 17.09.2019, 21:45 [ТС] | |
|
if ( compare(equipment[i].power, equipment[j] ){
.... } ?
0
|
|
|
502 / 348 / 134
Регистрация: 14.06.2016
Сообщений: 669
|
|
| 17.09.2019, 21:54 | |
|
if ( compare(equipment[i], equipment[j] ) > 0)
1
|
|
|
1 / 1 / 1
Регистрация: 18.09.2017
Сообщений: 153
|
|
| 18.09.2019, 00:38 [ТС] | |
|
1
|
|
| 18.09.2019, 00:38 | |
|
Помогаю со студенческими работами здесь
18
Отображение в listBox поля элемента из коллекции коллекций List<List<>> коллекции List<T> Сериализация коллекции List<T>
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|