![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
mansoff |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 5.12.2012 Репутация: нет Всего: нет |
Ребят вопрос из области списков,
Есть чат на сокетах, есть список объектов Array<User>, которые обрабатывают каждого юзера, бродкаст делается просто - идёт отсылка всем одного сообщения, отсылка приват сообщения сводится к тому, что перебором находится нужный юзер, и отсылается ему одному сообщение, а можно ли на java зная ID юзера (public String в объекте User) из масива\списка объектов сразу выбрать нужный? P.S. на java 100 лет не писал ![]() |
|||
|
||||
Nofate |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 13.10.2008 Репутация: 4 Всего: 8 |
Можно для индексирования воспользоваться хэш-таблицей HashMap<String, User>. Тогда по имени будете сразу получать пользователя.
-------------------- The future is not set, there is no fate but what we make for ourselves. Нофейтово пространство и смежные области |
|||
|
||||
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
Просто добавлю пояснение к сказанному Nofate.
У вас имеется набор объектов класса User, который хранится в списке типа Array. Можно заменить список хэш-таблицей. Но если почему-то неудобно производить такую замену (например слишком много кода придется менять), можно сделать дополнительную хеш-таблицу и хранить там те же ссылки, что и в списке. Я лично сделал бы класс-наследник от Array, внутри которого создал приватную хеш-таблицу. В классе переписал бы методы добавляющие и убирающие элементы списка, чтобы параллельно добавлять-убирать и в таблицу. Дополнительно создал бы метод вроде
и получал бы ссылку на объект User с данным id, вызывая этот метод. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
mansoff |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 5.12.2012 Репутация: нет Всего: нет |
Спасибо! Будем допиливать
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |