|
|
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Подскажите, пожалуйста, можно ли в TreeMap, используя компоратор сортировать не по ключам, а по их значениям? Если нельзя, то как подойти к этой проблеме? Нужна идея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 21:42 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Создать класс ключа, который бы имел ссылку на объект-значение И в компараторе сравнивать эти значения как-нибудь. Правда, класс объектов-значений тоже должен будет реализовывать Comparable… Что-то другого на ум не идёт, хотя и это - вырезка гланд автогеном. А зачем надо сортировать по значениям? --С уважением, ponomarevvb-- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 22:13 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 02:04 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Учусь, а учиться проще на нужных вещах. Сделал простенькую программку, которая создает частотный словарь иностранных слов в файлах натянутых из инета. Помогает понять сколько не знаешь слов характерных для определенной темы на аглицком. Спасибо за подсказки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2005, 18:28 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
to johanna Не будет вВш пример сортировать по значениям ключей. По умолчанию compare( Object a, Object b ) как объект принимает именно уникальные ключи. А проблема, как заставить принимать не уникальные значения ключей. Должен вроде быть какой-то выход. Почему нельзя по значениям сортировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2005, 22:13 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
toСергей. Р. не только будет, он еще это и делает. проверьте сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2005, 22:42 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. содержимое папки, сортированной по ключам abc book ix art lx cook nx dog rx cool tpr value uvw lost xyz rest новая папка созданная и отсортированная по значениям ix art abc book lx cook rx cool nx dog uvw lost xyz rest tpr value Process terminated with exit code 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 00:00 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
sorry, слово "уникальные" пропустила. организуйте свои данные в другую структуру- вот и решение вашей проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 00:14 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Тогда, на всякий случай, извиняюсь заранее. Переделка моего скрипта по Вашему предложению меня не осчастливила. Пока. Видимо, я что-то просмотрел. Буду разбираться с Вашим чистым примером. Спасибо за отзывчивость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 15:04 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Действительно работает, только понять каким образом я не могу. В классике компаратор выделяют в отдельный класс и работают с ним так: TM = new TreeMap(new MyComp () ); В этом случае сортируется по ключам. В Вашем пример реально сортирует по значениям, но мне не понятно как это происходит и как быть, если значения цифры? Чувствую недостаток теории, но где ее восполнить? В моих книгах и инете пока ничего путного не нашел. Не подскажете ли, где тут собака зарыта. Как определяются объекты, которые нужно сравнить, если они из пары ключ/значение и как быть если значение int? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 17:29 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Сергей. Р., вам же уже сказали, что отсортировать TreeMap по ключам не получится, т.к., если у разных ключей будут одинаковые значения, TreeMap скушает все пары кроме последней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 18:02 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
извините, имелось ввиду: отсортировать по значениям не получится :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 18:13 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. Сергей. Р.В Вашем пример реально сортирует по значениям В примере выше была ошибка. Как определяются объекты, которые нужно сравнить, если они из пары ключ/значение и как быть если значение int? - Ключём в map сортируемом по значению должен быть не исходный ключ (слово), а (ключ + значение). Это не обязательно писать (ключ и так уникален), но нужно иметь ввиду. - Для того, чтобы в компараторе получить значение связанное с ключём (т.е. полный ключ, который и должен сравнивать компаратор) используется дублирующий мap. - int - не может быть значением, только Integer. Об этом пишут в любой книге по java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 20:19 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. Эх, чтоб он еще и откомпилировался. Умом я его объять не могу пока. Похоже проще обходной путь найти. В конце концов мне надо просто отсортировать по не уникальному значению и распечатать. Нормальные герои всегда идут в обход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 20:57 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Сергей. Р.Похоже проще обходной путь найти. В конце концов мне надо просто отсортировать по не уникальному значению и распечатать. Нормальные герои всегда идут в обход. правильно, самое простое сказать своей базе, где данные хранятся Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 22:08 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs В примере выше была ошибка. какая? пример выше сортировал по уникальным значениям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2005, 22:11 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Сергей. Р. Эх, чтоб он еще и откомпилировался. Умом я его объять не могу пока. Похоже проще обходной путь найти. В конце концов мне надо просто отсортировать по не уникальному значению и распечатать. Нормальные герои всегда идут в обход. Какие проблемы с объятием умом? :) Единственное над чем стоит задуматься, так это методо addWord и тем, почему не один оператор там нельзя переставить :) Нормальному герою стоит поставить java 1.5, либо заменить в моём коде генерики на касты классов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2005, 01:07 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
johanna NotGonnaGetUs В примере выше была ошибка. какая? пример выше сортировал по уникальным значениям Это был ответ не вам :) Человек написал, что ваш код работает для его целей. Он работает, но как вы сами отметили выше, не для его целей. Автору требует сортировка по не уникальным значениям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2005, 01:10 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Я может быть не верно где-то выразился. В директории находятся текстовые документы на основе, которых строится частотный словарь. В хэшах все хорошо кроме частной задачи, как сделать сортироку по значениям (которые естественно не уникальны, т.к. разные слова могут появляться одинаковое число раз в исследуемом материале). И хочется сделать не через задницу. Как через задницу уже придумал, но это не красиво выглядит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2005, 10:48 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Сергей. Р.Я может быть не верно где-то выразился. В директории находятся текстовые документы на основе, которых строится частотный словарь. В хэшах все хорошо кроме частной задачи, как сделать сортироку по значениям (которые естественно не уникальны, т.к. разные слова могут появляться одинаковое число раз в исследуемом материале). И хочется сделать не через задницу. Как через задницу уже придумал, но это не красиво выглядит. Фу, блин. Если что-то не ясно - спроси. В коде который я привёл, treeMap сортируется по "значениям". [offtopic] Кстати, кто быстрее? :) Примерно так тестировать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. Эта штука в 20(!) раз быстрее каунтера, которого я нарисовал раньше :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2005, 12:52 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsФу, блин. Если что-то не ясно - спроси. В коде который я привёл, treeMap сортируется по "значениям". Спасибо за помощь, но будьте реалистом. Кто будет внимательно разбираться с примерм, который даже откомпилировать невозможно? Проблему я уже решил, только слова с малых и заглавных букв в разные деревья попадают и учитываются отдельно. Может подскажите, как в один регистр их перекидывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2005, 12:55 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
to Сергей. Р. прежде чем выбирать структуру для своих данных, не проще ли сначала проанализировать что я хочу сделать с моими данными: откуда получить, как сохранить, как обработать, как показать - а потом согласно этому выбирать подходящие для этого структуры. Т.е. если бы мне надо было сортировать данные по значениям, то я бы, например, TreeMap для своих данных не выбрала. Другим языком к чему брать чайник если собираешься варить суп? Суп, конечно, можно и в чайнике сварить, но удобно ли это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 11:35 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Постановка Сергея достаточно сложна для простого применения классов коллекций. По крайней мере мне показалось что реализация тянет на интерфейс таблицы к встраиваемой СУБД. ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 12:55 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
Сергей. РСпасибо за помощь, но будьте реалистом. Кто будет внимательно разбираться с примерм, который даже откомпилировать невозможно? Я реалист. Пример отлично компилируется. Первый стребует jdk1.5, второму пойдёт всё кроме самых древних версий. Проблему я уже решил Расскажешь как? Может подскажите, как в один регистр их перекидывать? String#toLowerCase() mayton реализация тянет на интерфейс таблицы к встраиваемой СУБД Задача: подсчитать количество вхождений разных слов в текстовых файлах и отсортировать из по количеству вхождений. Постановку конечно можно бесконечно долго уродовать, предъявляя разные хитрые требования, но учитывая слова Сергея Р "Учусь, а учиться проще на нужных вещах." , на верное не стоит этим заморачиваться :) Самостоятельной ценности такая задача не имеет, а конкретное прикладное использование накладывает свои ограничения. Мне кажется, что в общем случае, дерево с узлами-символами (+ аттрибут количество вхождений) для быстрого нахождения слова и инкремента счётчика + итератор по этому дереву, чтобы получить список "слово, количество" + быстрая сортировка - великолепное решение. Различных слов не так уж много, чтобы начались проблемы с нехваткой памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 16:10 |
|
||
|
Сортировка по значениям в TreeMap?
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs wrote: > Задача: подсчитать количество вхождений разных слов в текстовых файлах и > отсортировать из по количеству вхождений. > Задача элементарно решается на PERL: Код: plaintext 1. 2. 3. 4. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2005, 17:18 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33180318&tid=2151834]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
87ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
93ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 482ms |

| 0 / 0 |
