Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java HashSet Iterators, bug in Iterator? 
V
    Опции темы
leoric
Дата 8.8.2008, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 25.7.2008

Репутация: нет
Всего: нет



Привет всем. Я не могу понять, в чем ошибка. 
Следующий код 
Код

if(!notProcConds.isEmpty()){
            System.out.println("a.attrs="+a.attrs);
            System.out.println("DisabledConds="+DisabledConds+" notProcConds="+notProcConds);
            if(DisabledConds.size()==1 && notProcConds.size()==1){
                Iterator <Pair> it1=DisabledConds.iterator();
                Iterator <Pair> it2=notProcConds.iterator();
                Pair p1=it1.next();
                Pair p2=it2.next();
                System.out.println(""+p1.equals(p2) +" hashcodes: "+p1.hashCode() + " " +p2.hashCode());
            }
            notProcConds.removeAll(DisabledConds);
            
            System.out.println(notProcConds);
            //throw new InvalidExpressionException(errMsg);
        }

Выдает 

DisabledConds=[ {var ?xs,xsd:decimal 6} ] notProcConds=[ {var ?xs,xsd:decimal 6} ]
true hashcodes: 64378 64378
[ {var ?xs,xsd:decimal 6} ]

Вопрос: почему не удаляется элемент в notProcConds? 

java -version 
java version "1.6.0_03-p4"
Java™ SE Runtime Environment (build 1.6.0_03-p4-alp_21_jul_2008_13_48-b00)
Java HotSpot™ 64-Bit Server VM (build 1.6.0_03-p4-alp_21_jul_2008_13_48-b00, mixed mode)

(На 5-ке - то же самое) 
PM MAIL   Вверх
leoric
Дата 8.8.2008, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 25.7.2008

Репутация: нет
Всего: нет



Проблема решена - оказалась неверно реализована функция hashCode одного из объектов. Временно поставил ей возвращать 0. Потом буду разбираться дальше...
PM MAIL   Вверх
SaSho
Дата 8.8.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 10.6.2007
Где: Днепропетровск

Репутация: 2
Всего: 3



Цитата(leoric @  8.8.2008,  15:14 Найти цитируемый пост)
Проблема решена - оказалась неверно реализована функция hashCode одного из объектов.

А как же Ваш результат:
Цитата(leoric @  8.8.2008,  13:14 Найти цитируемый пост)
true hashcodes: 64378 64378



Цитата(leoric @  8.8.2008,  15:14 Найти цитируемый пост)
Временно поставил ей возвращать 0.

А вот это зря...




Это сообщение отредактировал(а) SaSho - 8.8.2008, 16:18
PM MAIL ICQ Jabber   Вверх
SaSho
Дата 8.8.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 10.6.2007
Где: Днепропетровск

Репутация: 2
Всего: 3



удалено

Это сообщение отредактировал(а) SaSho - 8.8.2008, 16:19
PM MAIL ICQ Jabber   Вверх
leoric
Дата 8.8.2008, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 25.7.2008

Репутация: нет
Всего: нет



Я понял!!! У меня  hashCode считается но основании поля from класса Pair. Затем это поле может изменяться уже после того, как класс помещен в HashMap. В результате, он размещается по старому hashCode с новым значением поля, по которому происходит сравнение. В результате при просмотре таблицы получается то, что классы в ней размещены неправильно (не соответственно их аолям).
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0639 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.