![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Arj |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
Помогите разобраться с такой задачей.
В качетве ключа для TreeMap использается класс с аттрибутами time и sid. При чем при занесении записей в TreeMap сортировка должна быть по времени, а равенство объектов должно проверяться по sid. Класс ключа:
Класс компаратора:
Собственно вопрос - почему когда делаем put с ключами с одинаковым sid в TreeMap, иногда новый объект заменяет старый, а иногда просто добаляется в коллекцию? В результате получаем несколько одинаковых. Или как можно этого избежать ? |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Так делать нельзя! Потому что у тебя один объект может быть и больше/меньше и равен другому одновременно. Нужно менять логику работы. Например в TreeMap держать отсортированный по времени список объектов. А в HashMap держать объекты равные по sid. -------------------- 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. |
|||
|
||||
| Arj |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.12.2006 Репутация: нет Всего: нет |
Огромное спасибо за идею
|
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 5 Всего: 13 |
к тому же хэшкод такой неправильно делать у объекта, и в equals на инстанс оф нужно проверить (и на налл через это)...
Это сообщение отредактировал(а) y3u - 20.12.2006, 14:48 -------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
![]()
|
| Правила форума "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. |