![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Evgeni |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 19.11.2006 Репутация: нет Всего: нет |
Всем привет, есть лист такого вида
[ value1, 248, 112000, 451.61] [ value2, 239, 96000, 401.67] [ value3, 243, 1950000, 405.99] нужно отсортировать его, по 3 столбцу в порядке убывания, как это сделать? |
|||
|
||||
YuG |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 20.2.2006 Репутация: нет Всего: 4 |
Читаешь api, создаешь свой компаратор и вперед.
Comparator Collections.sort(java.util.List, java.util.Comparator) Короче, не получается дать точную ссылку на метод Collections.sort(java.util.List, java.util.Comparator) из-за пробела в урле. Это сообщение отредактировал(а) YuG - 21.11.2006, 14:45 |
|||
|
||||
hovex |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 6.6.2006 Репутация: нет Всего: нет |
ну если нету времени читать.
то прост по очередно возми все третие елементы, и с помошю класса Integer достань integer.intValue() значении етих полей,а потом делай сортировку например с помошю пузыркого алгоритма, но не забывай во времия перемешения елементов, переместить вес запись, а не толко тот по которому делаеш сортировку. |
|||
|
||||
Bulat |
|
||||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 4 Всего: 57 |
Evgeni, чуть более шире выложил бы задачу, более четкоотписал бы, а так, допустим можно для сортировки:
есть экземпляр класса:
и там где ты будешь это использовать:
соотв. фишка в Arrays.sort(LdArray), но это один из способов ![]() -------------------- менеджер по кодеврайтингу ![]() |
||||
|
|||||
Evgeni |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 19.11.2006 Репутация: нет Всего: нет |
да я собственно пытался сделать как hovex говорит, но не могу заполнить массив
вообще с массивами не работал, я пробовал так :
но выдает ерунду с коллекциями тоже нашел здесь на форуме примеры, но так как то и не разобрался... |
|||
|
||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Зачем? Напиши свой компаратор, в нём напиши сравнение по третьему столбцу - и запихивай в коллекции, сортируй на здоровье. -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
Evgeni |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 19.11.2006 Репутация: нет Всего: нет |
chief39, я не понимаю как писать компаратор, для меня это пожалуй слишком сложно
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
А затем уже Arrays.sort(). -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Evgeni |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 19.11.2006 Репутация: нет Всего: нет |
хы, спасибо всем кто откликнулся!
я сделал так:
дальше просто прокрутил отсортированый tempList и нашел совпавшие элементы. вообще по заданию пользователь должен выбрать по какой строке делать поиск, поэтому тип double. Наверное не самый лучший вариант, но мне как начинающему, он показался очень простым ![]() |
|||
|
||||
Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 24 Всего: 144 |
То, что не лучший - это уж точно ![]()
![]()
Как написать метод - смотри, например, код Bulat'а. Таким образом, интерфейс Comparable (вернее, его реализация) задает естественный умолчальный порядок сортировки объектов данного типа. Если же нам нужно отсортировать по какому-то произвольному критерию, как в твоем случае, когда данные представлены списками значений (это, кстати, обязательное условие? может все-таки задать свой тип?), то для этого в Java предусмотрен еще один способ - интерфейс Comparator. Это, опять-таки, очень простой интерфейс. Предоставляя объект типа Comparator с зашитым внутри алгоритмом сравнения двух объектов известного типа, в форме метода public int compare(Object obj1, Object obj2), мы задаем порядок, который далее может быть использован в штатных операциях сортирвки. Как реализовать решение с компаратором - см. код LSD. Только одна маленькая поправочка: вызывать надо метод Collections.sort(List list, Comparator comparator). ЗЫ. Если кого заинтересовала книжка Effective Java, я выложил ее вот сюда: формат PDF, 2.7 MB. Но это совсем не для начального ознакомления. -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
JVM |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 189 Регистрация: 30.10.2006 Репутация: нет Всего: 5 |
Можно поподробнее? Так и не понял в чем разница между Comparable и Comparator. Что означает "задает естественный умолчальный порядок сортировки"? Ведь как реализуешь метод compareTo() так и будет происходить сортировка. |
|||
|
||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
"То, что можно сортировать" "То, что сортирует" Если любой ребёнок может сортировать шарики по размеру, то любой ребёнок - Компаратор, а люобй шарик, который можно сортировать - Компарэйбл -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |