| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > доступ к объекту в списке по public String id |
| Автор: mansoff 5.12.2012, 12:48 |
| Ребят вопрос из области списков, Есть чат на сокетах, есть список объектов Array<User>, которые обрабатывают каждого юзера, бродкаст делается просто - идёт отсылка всем одного сообщения, отсылка приват сообщения сводится к тому, что перебором находится нужный юзер, и отсылается ему одному сообщение, а можно ли на java зная ID юзера (public String в объекте User) из масива\списка объектов сразу выбрать нужный? P.S. на java 100 лет не писал |
| Автор: Nofate 5.12.2012, 13:01 | ||
Можно для индексирования воспользоваться хэш-таблицей HashMap<String, User>. Тогда по имени будете сразу получать пользователя.
|
| Автор: _Y_ 5.12.2012, 13:55 | ||
| Просто добавлю пояснение к сказанному Nofate. У вас имеется набор объектов класса User, который хранится в списке типа Array. Можно заменить список хэш-таблицей. Но если почему-то неудобно производить такую замену (например слишком много кода придется менять), можно сделать дополнительную хеш-таблицу и хранить там те же ссылки, что и в списке. Я лично сделал бы класс-наследник от Array, внутри которого создал приватную хеш-таблицу. В классе переписал бы методы добавляющие и убирающие элементы списка, чтобы параллельно добавлять-убирать и в таблицу. Дополнительно создал бы метод вроде
и получал бы ссылку на объект User с данным id, вызывая этот метод. |
| Автор: mansoff 5.12.2012, 15:28 |
| Спасибо! Будем допиливать |