| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > сортировка содержимого List по полям типа Date |
| Автор: newsTester 3.4.2008, 01:07 |
| проблема не в том что я сортировок не знаю, а в том что лудшее враг хорошего... И так, ЕСТЬ у меня объект типа List элементами которого являються элементы типа Item (по 10 - 100 шт.) у которых в, свою очередь, есть есть поля типа Date. НАДО 1)объединить несколько (до 50) таких списков; 2) выбирать из них объекты Item в строгом соответствии со значениями поля типа Date (с точностью до минуты). была ИДЕЯ сделать List в котором элементы соответствуют Годам и содержат многомерные массивы вида Месяц Х Число Х Час Х Минута элементы которого например тотже List. ПРОБЛЕМА в том что работа с методами Date.getYear() и т.п. считается устаревшей... Да и вообще что вы об этом думаете? |
| Автор: niasilil 3.4.2008, 02:01 |
| Collections.sort(List list, Comparator c) напиши свой компаратор, три строчки. ЗЫ date сравнивать через методы Calendar |
| Автор: newsTester 3.4.2008, 12:03 | ||||
а что такое "компаратор"? Я им не разу не пользовалась... Верней может и пользовалась но не знаю что это так называется.
Ну да, если делать так как я думала то только так, но можно еще как минимум через методы after и before... Может так лучше буде? |
| Автор: mbasil 3.4.2008, 12:21 | ||
Если вам нужна реализация именно интерфейса List, то придется видимо писать свой класс, унаследовав его, например, от ArrayList, а уже в нем обеспечивать упорядоченное хранение, так как классы, реализующие интерфейс List, сколько я помню, не поддерживают напрямую хранения в отсортированном порядке. |
| Автор: iluvatar 3.4.2008, 13:13 |
| улыбнуло. давно не слышал про ручную сортировку на Java. еще одна подсказака для сортировки классов - если постоянно требуется упорядочивать классы по одному и тому же правилу, чтобы каждый раз не писать Comparator, класс может реализовывать интерфейс Comparable |
| Автор: niasilil 3.4.2008, 19:51 |
| mbasil, кстати да, getTime() действительно проще TreeSet все таки не List |
| Автор: newsTester 4.4.2008, 01:47 | ||||||
| mbasil спасибо, что разъяснили это непонитное слово "компоратор"
как они хранят честно говоря не знаю, но там есть методы get(int index), set(int index, Object element), add(int index, Object element) и remove(int index), так что можно думать что элементы отсортированы. iluvatar
может вы и правы... но всеравно интересно
спасибо за наводку З.Ы. niasilil, iluvatar, mbasil, может я не умею разговаривать с людьми, поэтаму отдельно говорю что благодарна вам за помощь |
| Автор: math64 4.4.2008, 07:42 | ||
TreeSet и List - коллекции
|