Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
Neon-z
46 / 41 / 8
Регистрация: 06.09.2010
Сообщений: 419
#1

Переопределение hashCode()

21.10.2012, 00:28. Просмотров 1595. Ответов 1
Метки нет (Все метки)

Нужно реализовать функцию hashCode(). Значение хеш-функции вычислять как значение побитового исключающего ИЛИ битовых представлений всех элементов вектора в случае типа float базового элемента вектора, а в случае типа double как значение побитового исключающего ИЛИ первых 4 байтов и вторых 4-х байтов битовых представлений (следует воспользоваться вспомогательными методами классов-оберток).
--- флоат не надо, нужно только дабл... помогите плиз.

функция должна вернуть хэшкод вектора (набора вещественных чисел).
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2012, 00:28
Ответы с готовыми решениями:

HashCode и equals (переопределение)
Здравствуйте, у меня возникла сложность с нashCode и equals....

Переопределение equals() и hashCode()
Если есть класс Point: public class Point { private int x; ...

Переопределение hashcode() для объекта со строковым полем
Здравствуйте, возник вопрос. У меня имеется класс в котором необходимо...

hashCode()
Вопрос собственно вот в чем... является ли значение возвращаемое методом...

изменяющийся hashcode
Доброго времени суток. Столкнулся со следующей проблемой. У меня имеется...

1
lemegeton
2933 / 1362 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
25.10.2012, 12:39 #2
Лучший ответ Сообщение было отмечено Neon-z как решение

Решение

Как-то так вот.
Java
1
2
3
4
5
6
7
8
9
10
11
    List<Double> list = new Vector<Double>(Arrays.asList(1., 2., 3., 4., 5.5));
 
    @Override
    public int hashCode() {
        int result = 0;
        for (Double i : list) {
            long bits = Double.doubleToRawLongBits(i);
            result ^= ((int)(bits & 0x00000000FFFFFFFFL)) ^ ((int)((bits & 0xFFFFFFFF00000000L) >> 32));
        }
        return result;
    }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2012, 12:39

Переопределяем equals и hashcode
Добрый день Допустим есть класс с тремя полями(1, 2, 3), я хочу...

Переопределить equals() и hashCode()
Помогите пожалуйста с equals() и hashCode(). Есть класс в котором хранится...

Генерация методов equals, hashcode, get
Ребята,помогите с задачей. Очень необходимо! Буду искренне благодарен! Дан...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru