![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Столкнулся с нижеописанной задачкой. Интересно Ваше мнение :
Есть необходимость хранить некий объект Parameter - id - paraneId - name - value в некой коллекции ParameterList. Вопрос: Как оптимальным образом организовать поиск в коллекции ParameterList объекта Parameter по его полям (совокупности полей). например как лучше реализовать интерфейс :
|
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
В принципе, можно сделать несколько ХешМапов. А для поиска по нескольким полям - делать ключ конкатенацией строк. Если предполагается делать поиск, возвращающий набор объектов (например, по parent), то хранить в мапе ArrayList (а то и другой хеш).
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
В одном хэшмэпе хранить айдишку и хэшкод сделать равным айдишке, В другом, ключ - это объект из int _parent и String _name а хэшкод его - хэшкод стринга + int -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
- память жалко ... (но ваще я так и думал ![]() |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
По идее, т.к. храниться будут объекты, а не простые типы, памяти уйдет не много. Только на сами пары ключ-ссылка.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Я бы сделал так, создал несколько TreeMap (по количеству индексов). И для каждого индексируемого поля создал бы свой Comparator и создавал соответсвующий индекс.
Никуда не денешься, индексы требуют памяти, и плюс ко всему время добавления элемента увеличится. Все как в РСУБД. -------------------- 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. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |