|
31 / 31 / 6
Регистрация: 11.07.2013
Сообщений: 241
|
|
Hashcode и Equals13.12.2013, 04:14. Показов 1354. Ответов 7
Метки нет (Все метки)
Здравствуйте! Возникла необходимость выяснить точные ответы на следующие вопросы:
Добавлено через 3 минуты 1) Как работает hashcode и equals у класса Object? 2) Что произойдет при добавление обьекта в Hash структуру данных(HashSet например) если - Не переопределены ни hashcode ни equals - переопределен equals не определен hashcode - переопределен hashcode не переопеределен equals 3) Переопределены и тот и тот, элемент добавили в коллекцию, а потом у элемента изменили какое-то поле Спасибо.
0
|
|
| 13.12.2013, 04:14 | |
|
Ответы с готовыми решениями:
7
Переопределение hashcode и equals HashCode и equals (переопределение) Переопределяем equals и hashcode |
|
|
|
| 13.12.2013, 08:00 | |
|
1.
Object.hashCode генерирует каким-то образом хэш (в большинстве реализаций - используется ГСЧ), записывает его в заголовок объекта и возвращает. Object.equals проверяет ссылочное равенство объектов.
1
|
|
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|
| 13.12.2013, 11:44 | |
|
1
|
|
| 13.12.2013, 12:33 [ТС] | |
|
Не по теме: Skipy, у Вас по принципу все включено:)
0
|
|
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
||
| 13.12.2013, 13:13 | ||
|
0
|
||
|
31 / 31 / 6
Регистрация: 11.07.2013
Сообщений: 241
|
||
| 13.12.2013, 15:19 [ТС] | ||
|
еще несколько вопросов:
1) Если hashcode() у Object возвращает число на основании адреса обьекта в памяти, то... я просто слышал что при сборке мусора GC может выполнять операцию для обьектов примерно как дефрагментация, при этом не может случится такого что у обьекта поменяется адрес в памяти и соответственно hashcode?(поправьте если была сказана глупость) 2) По поводу понятий рефлексивность симетричность транзитивность(мат. часть для equals) Бывают ли случаи, когда equals реализовуют преднамеренно так, что какое-то из этих условий не выполняется для, не знаю, получения какой-то другой выгоды(то есть можно ли чем то из них пожертвовать)?
0
|
||
|
|
|||
| 13.12.2013, 15:43 | |||
|
1. запретить перемещать объект, 2. заставить GC как-то хитрить - разрещать только перемещения, при которых хэш код не поменяется. Опять же повторюсь - зависит от реализации JVM. И в самых популярных реализациях (Oracle JDK и Open JDK) используется именно генератор случайных чисел.
1
|
|||
|
|
|||||||||||||||||
| 14.12.2013, 19:50 | |||||||||||||||||
Кликните здесь для просмотра всего текста
0 – Park-Miller RNG (по умолчанию)
1 – f(адрес, глобальное_состояние) 2 – константа 1 3 – последовательный счетчик 4 – адрес объекта 5 – Thread-local Xorshift
2
|
|||||||||||||||||
| 14.12.2013, 19:50 | |
|
Помогаю со студенческими работами здесь
8
Переопределение equals() и hashCode() Переопределить equals() и hashCode()
Генерация методов equals, hashcode, get
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|