|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Jean : 1992 JavaTalks Team Member Откуда: Санкт-Петербург
|
Июн 06, 2011 21:31 |
|
|
| rage писал(а): |
| map не подходит, так как нужно что бы заменялись только аналогичные таски с одинаковым весом, могут быть и не аналогичные таски с одинаковым весом. |
А как вы их в Set'е отличаете тогда? _________________ Всякое решение плодит новые проблемы |
|
|
|
 |
rage : 27 Новичок
|
Июн 07, 2011 9:33 |
|
|
| Jean писал(а): |
| rage писал(а): |
| map не подходит, так как нужно что бы заменялись только аналогичные таски с одинаковым весом, могут быть и не аналогичные таски с одинаковым весом. |
А как вы их в Set'е отличаете тогда? |
Отличаю? Отличаю от чего? |
|
|
|
 |
Taky_ : 491 Бывалый
|
Июн 07, 2011 10:38 |
|
|
Еще раз, сначала...
У вас есть объект: Таска. Вы хотите получать таску по весу, а в таске есть значимое информативное поле, которое хотите вытянуть или стратегия, не важно. Для этого делаете свой компаратор по весу и ложите в Сет.
После необходимо в этот сет ложить новую таску, пусть с другой стратегией, но тем же весом. А таска не заменяется... Вам предлагают делать мапу... но:
| Цитата: |
| map не подходит, так как нужно что бы заменялись только аналогичные таски с одинаковым весом, могут быть и не аналогичные таски с одинаковым весом. |
Под аналогичным вы понимаете равеноство equals? Т.е. в сете может храниться несколько тасок с одинаковым весом? А компаратор значимыми полями при сравнении считает не только поля объекта.
Тогда можно: Map<Weight,Set<Task>>. Если equals вернет true, а вам надо заменить объект, то таски не эквивалентны, и не равны в логическом смысле, => equals не верен. |
|
|
|
 |
rage : 27 Новичок
|
Июн 07, 2011 10:46 |
|
|
Если сначала, то:
Есть несколько типов тасков, в общем случае они сортируются по весу, но если добавляется таск с одинаковым весом и одинаковым типом то новый таск должен заменить старый.
Задача проще некуда, но похоже для решения придется городить свой сет. |
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Июн 07, 2011 14:08 |
|
|
Map, в качестве ключа составной класс "тип таска+вес", реализация - TreeMap, внешний компаратор по весам тасков. _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
|
|
|