Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
8 / 5 / 3
Регистрация: 15.09.2014
Сообщений: 43

Не хочет сортировать список содержащий другие списки

01.09.2022, 17:33. Показов 747. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ArrayList который содержит в себе другие ArrayList, пытаюсь написать сортировку через анонимный класс, но получаю ошибку

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  Collections.sort(advList, new Comparator<ArrayList<Advertisement>>(){
                        @Override
                        public int compare(ArrayList<Advertisement> o1, ArrayList<Advertisement> o2) {
                            if(getAmountOfList(o1) > getAmountOfList(o2)) return -1;
                            if(getAmountOfList(o1) < getAmountOfList(o2)) return 1;
                            if(getAmountOfList(o1) == getAmountOfList(o2)) {
                                if (getDurationOfList(o1) > getDurationOfList(o2)) return 1;
                                if (getDurationOfList(o1) < getDurationOfList(o2)) return -1;
                                if(getDurationOfList(o1) == getDurationOfList(o2)) return (o1.size() > o2.size()) ? -1 : 1;
                            }
                             return 0;
                        }
                    }
                    );
ошибка:

Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.TimSort.mergeLo(TimSort.java:7 77)
at java.util.TimSort.mergeAt(TimSort.java:5 14)
at java.util.TimSort.mergeCollapse(TimSort. java:441)
at java.util.TimSort.sort(TimSort.java:245)
at java.util.Arrays.sort(Arrays.java:1512)
at java.util.ArrayList.sort(ArrayList.java: 1462)
at java.util.Collections.sort(Collections.j ava:175)
at com.javarush.task.task27.task2712.ad.Adv ertisementManager.processVideos(Advertis ementManager.java:156)
at com.javarush.task.task27.task2712.ad.Adv ertisementManager.main(AdvertisementMana ger.java:203)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.09.2022, 17:33
Ответы с готовыми решениями:

Списки. Необходимо в список добавить объект содержащий объекты
Добрый день столкнулся с проблемой и немного не знаю как решить,необходимо в список запихнуть объект содержащий объекты,хочу работать со...

Однонаправленные списки. Дано 2 списка.Создать третий список, содержащий совершенные числа исходных списков
Дано 2 однонапр списка.Создать третий список ,содержащий совершенные числа исходных списков. небольшие затруднения.Я создал 2...

Дан список, который может содержать как элементы, так и другие списки. Найти max число идущих подряд списков
Доброго времени суток. Помогите решить задачу: дан список, который может содержать как элементы, так и другие списки. Определить...

3
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
01.09.2022, 20:53
Лучший ответ Сообщение было отмечено Kirtisel как решение

Решение

https://stackoverflow.com/ques... l-contract
1
33 / 25 / 11
Регистрация: 11.10.2019
Сообщений: 162
04.09.2022, 12:03
Kirtisel, То есть ты сравниваешь списки по количеству элементов? Не проще ли будет переписать так:
Java
1
return Integer.compare(o1.length(), o2.length());
1
8 / 5 / 3
Регистрация: 15.09.2014
Сообщений: 43
05.09.2022, 07:11  [ТС]
Спасибо за ответы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.09.2022, 07:11
Помогаю со студенческими работами здесь

Процедура, которая формирует список, содержащий элементы входящие в первый и не входящие во второй списки
Написать программу, содержащую процедуру, которая формирует список М, включив в него по одному разу элементы, которые входят в список М1,...

Не хочет сортировать по дате
У меня есть поле data и оно имеет тип timestamp, не понимаю почему оно не хочет сортировать по дате в phpmyadmin сортирует, а на сайте нет....

Отсортированный вектор на 10000 элементов не хочет сортировать
Есть алгоритм быстрой сортировки, работает хорошо, но когда я второй раз хочу отсортировать выдает разные ошибки. Одна пишет, что я выхожу...

Как сортировать односвязные списки
Не могу понять, как сортировать односвязные списки. Есть список как его отсортировать по алфавиту.

Объясните пожалуйста как сортировать списки
Объясните кому не сложно как происходит сортировка динамического списка... Вот например у меня есть 2 списка #include &lt;iostream&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru