Вопросы по теме 'hashcode'

Google App Engine, JDO и equals / hashCode
У меня есть приложение в Google App Engine, которое работает нормально. Я понял, что один из моих JDO-расширенных объектов, который я забыл реализовать, равно и hashCode (мне нужно использовать объект в наборе). Так я и сделал. На самом деле я не...
8631 просмотров
schedule 30.03.2022

Как мне реализовать методы equals и hashCode этого HashMap для представления состояния автомата?
Я хочу поместить объекты State (которые представляют собой HashMaps с Character в качестве ключа и State в качестве значения в ArrayList с именем allStates. Должен ли я переопределить здесь методы equals и hashCode? Почему? Как? Этот код...
706 просмотров
schedule 11.10.2023

Что такое хэш-код объекта, если hashCode () не переопределен?
Если метод hashCode () не переопределен, каков будет результат вызова hashCode () для любого объекта в Java?
17691 просмотров
schedule 21.03.2024

Согласованные результаты Equals(), но несогласованный результат TreeMap.containsKey()
У меня есть следующий объект Node : private class Node implements Comparable<Node>(){ private String guid(); ... public boolean equals(Node o){ return (this == o); } public...
3907 просмотров
schedule 30.04.2023

Почему объект System.String может не кэшировать свой хеш-код?
Взгляд на исходный код для string.GetHashCode с использованием Reflector показывает следующее (для mscorlib.dll версии 4.0): public override unsafe int GetHashCode() { fixed (char* str = ((char*) this)) { char* chPtr = str;...
3321 просмотров

Как Java HashMap обрабатывает разные объекты с одним и тем же хеш-кодом?
Насколько я понимаю, я думаю: Совершенно законно, чтобы два объекта имели один и тот же хэш-код. Если два объекта равны (с использованием метода equals ()), то они имеют одинаковый хэш-код. Если два объекта не равны, они не могут иметь...
224192 просмотров
schedule 19.04.2024

Если сборщик мусора Java перемещает объекты, что такое Object.hashCode и System.identityHashCode?
Я часто слышал, что эти методы ( Object.hashCode и System.identityHashCode ) возвращают адрес объекта или что-то быстро вычисленное из адреса; но я также уверен, что сборщик мусора перемещает и сжимает объекты. Поскольку хэш-код не может быть...
2386 просмотров

Хорошее переопределение GetHashCode() для списка объектов Foo с соблюдением порядка
EnumerableObject : IEnumerable<Foo> заворачивает List<Foo> Если EnumerableObject a.SequenceEquals( EnumerableObject b) , то они равны. Поэтому необходимо реализовать GetHashCode . Проблема заключается в том, что операция...
28400 просмотров
schedule 14.12.2022

Код для поиска похожих строк в двумерных массивах
Я пытаюсь найти похожие строки в нескольких двумерных массивах , как это было описано в мой предыдущий пост . Для приведенного ниже примера ответ false, true, , хотя должен быть false, false . Еще один очень важный вопрос — как настроить этот...
1189 просмотров
schedule 09.06.2023

HashCode дает отрицательные значения
Я конвертирую входящую строку в хэш-код, выполняя следующую функцию, но некоторые значения отрицательны. Я не думаю, что хеш-значения должны быть отрицательными. Подскажите пожалуйста, что я делаю не так. int combine = (srcadd + dstadd +...
58806 просмотров
schedule 29.10.2023

необходимо ли переопределять хэш-код, если я переопределяю равенства и не использую какую-либо коллекцию хеширования
У меня есть Object , и я просто хочу переопределить метод equals для сравнения двух объектов, я нигде в своей программе не использую хеш-коллекцию. В таком случае, почему есть контракт в hashCode и методе equals, т.е. если два объекта равны, они...
604 просмотров
schedule 09.09.2022

Сравнение объектов, одного и того же контента, разных идентификаторов (в отладчике eclipse)
У меня заканчиваются идеи... Я сравниваю два объекта, у них обоих есть поле списка массивов пользовательского типа. Оба объекта содержат один элемент в списке массивов. Когда я смотрю в отладчик eclipse, он выглядит совершенно так же, вплоть до...
3144 просмотров
schedule 13.05.2022

Хэш-код int
Что такое хэш-код примитивного типа, например int? например, предположим, что число было целым числом. int hasCode = 0; if (num != 0) { hasCode = hasCode + num.hashCode(); }
55379 просмотров
schedule 21.06.2023

тонкости работы с equals и hashCode в интерфейсе Java
Я реализую объект значения для этих интерфейсов: interface FooConsumer { public void setFoo(FooKey key, Foo foo); public Foo getFoo(FooKey key); } // intent is for this to be a value object with equivalence based on // name and serial...
715 просмотров
schedule 12.06.2023

Проверка хеш-таблиц
Я реализую хеш-таблицу для проекта, используя 3 различных типа зондирования. Сейчас работаю над линейкой. Для линейного зондирования я понимаю, как работает зондирование, и мой инструктор подразумевал, что он хочет, чтобы размер шага был равен 1....
248 просмотров

Разница между Objects.hashCode() и новым Object().hashCode()?
В чем разница между этими двумя фрагментами кода? Фрагмент 1: Object o = new Object(); int i = Objects.hashCode(o); Фрагмент 2: Object o = new Object(); int i = o.hashCode();
237 просмотров
schedule 31.01.2024

Создание хэш-кода из нескольких полей?
Как создать хэш-код из двух полей в моем классе? Например, я хочу, чтобы Pair классы с одинаковыми объектами V имели одинаковый хэш-код: public class Pair<V> { V from, to; } Должен ли я умножать их хэш-коды вместе? Добавить...
7946 просмотров
schedule 10.09.2023

Кросс-платформенные, кросс-версии .NET Хеш-функция
Мне нужна кросс-платформенная хеш-функция кросс-версии .NET. Обратите внимание, что большинство\любое обычное хеширование может давать разные результаты на разных машинах, возможно, из-за разных настроек ОС, используемого компилятора, 32\64 бит и...
783 просмотров
schedule 11.08.2023

Зачем нужно переопределять хэш-код, если я переопределяю метод equals в Java?
Я знаю, что есть необходимость переопределить хэш-код всякий раз, когда метод equals переопределяется в Java. Это просто договор. Я пытаюсь понять логику этого. Я читал * Effective Java от Джошуа Блоха и наткнулся на этот код (пункт 9,...
5419 просмотров
schedule 19.07.2023

Почему хэш-код был разработан для возврата int
Кажется, что хэш-код всегда возвращает целое число. Теперь это кажется ограничивающим фактором из-за IntMax. Теперь можно утверждать, что у нас никогда не будет такого количества объектов, так как это вызовет переполнение кучи и т. д. Но если бы мы...
517 просмотров
schedule 23.05.2024